home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / smalleiffel / bin_c / compile_to_c8.c < prev    next >
C/C++ Source or Header  |  2000-03-25  |  117KB  |  4,683 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                  http://SmallEiffel.loria.fr/                --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. void r130run_feature_has_result(T130* C){
  12. /*[IF*/
  13. if((X334result_type((/*RF2*/(C)->_run_feature/*8*/)))==((void*)(NULL))){
  14. {T68 se_tmp0;
  15. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*8*/)),&se_tmp0)));
  16. }
  17. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  18. r130fatal_error(((T0*)ms115_53215));
  19. }
  20. /*FI]*/
  21. }
  22.  
  23.  
  24. T2 r130static_value(T130* C){
  25. T2 R=0;
  26. T0* _rf=NULL;
  27. T0* _running=NULL;
  28. _running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*8*/)))))->_running/*9*/);
  29. /*[IF*/
  30. if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
  31. _rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*8*/));
  32. /*[IF*/
  33. if(X334is_static(_rf)){
  34. R=X334static_value_mem(_rf);
  35. }
  36. /*FI]*/
  37. }
  38. /*FI]*/
  39. return R;
  40. }
  41.  
  42.  
  43. void r130run_feature_match(T130* C){
  44. r130run_feature_has_result(C);
  45. /*[IF*/
  46. if((X334arguments((/*RF2*/(C)->_run_feature/*8*/)))!=((void*)(NULL))){
  47. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  48. {T68 se_tmp0;
  49. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*8*/)),&se_tmp0)));
  50. }
  51. r130fatal_error(((T0*)ms132_50092));
  52. }
  53. /*FI]*/
  54. }
  55.  
  56.  
  57. T0* r130add_comment(T130* C,T0* a1){
  58. T0* R=NULL;
  59. /*[IF*/
  60. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  61. R=((T0*)(C));
  62. }
  63. else{
  64. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  65. *n=M229;
  66. r229make(n,(T0*)C,a1);
  67. R=((T0*)n);
  68. }
  69. }
  70. /*FI]*/
  71. return R;
  72. }
  73.  
  74.  
  75. void r130with(T130* C,T0* a1,T0* a2,T0* a3){
  76. (/*SFN*/C->_target)=a1;
  77. (/*SFN*/C->_feature_name)=a2;
  78. (/*SFN*/C->_run_feature)=a3;
  79. r130run_feature_match(C);
  80. }
  81.  
  82.  
  83. void r130mapping_c_target(T130* C,T0* a1){
  84. T0* _actual_type=NULL;
  85. T6 _flag=0;
  86. _flag=r325call_invariant_start(a1);
  87. _actual_type=X52run_type(r130result_type(C));
  88. /*[IF*/
  89. if(X52is_reference(_actual_type)){
  90. /*[IF*/
  91. if(X52is_reference(a1)){
  92. X52mapping_cast(a1);
  93. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  94. T3 b1=((T3)'\50');
  95. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  96. }/*]*/
  97. /*]*/
  98. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T130* C1=C;
  99. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  100. }/*]*/
  101. /*]*/
  102. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  103. T3 b1=((T3)'\51');
  104. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  105. }/*]*/
  106. /*]*/
  107. }
  108. else{
  109. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T130* C1=C;
  110. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  111. }/*]*/
  112. /*]*/
  113. }
  114. /*FI]*/
  115. }
  116. else{
  117. /*[IF*/
  118. if(X52is_reference(a1)){
  119. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T130* C1=C;
  120. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  121. }/*]*/
  122. /*]*/
  123. }
  124. else{
  125. /*[IF*/
  126. if(X52need_c_struct(a1)){
  127. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  128. T3 b1=((T3)'\46');
  129. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  130. }/*]*/
  131. /*]*/
  132. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  133. T3 b1=((T3)'\50');
  134. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  135. }/*]*/
  136. /*]*/
  137. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T130* C1=C;
  138. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  139. }/*]*/
  140. /*]*/
  141. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  142. T3 b1=((T3)'\51');
  143. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  144. }/*]*/
  145. /*]*/
  146. }
  147. else{
  148. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T130* C1=C;
  149. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  150. }/*]*/
  151. /*]*/
  152. }
  153. /*FI]*/
  154. }
  155. /*FI]*/
  156. }
  157. /*FI]*/
  158. /*[IF*/
  159. if(_flag){
  160. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  161. T3 b1=((T3)'\51');
  162. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  163. }/*]*/
  164. /*]*/
  165. }
  166. /*FI]*/
  167. }
  168.  
  169.  
  170. void r130afd_check(T130* C){
  171. T0* _running=NULL;
  172. T0* _rc=NULL;
  173. /*[IF*/
  174. if(((/*RF2*/(C)->_run_feature/*8*/))!=((void*)(NULL))){
  175. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  176. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  177. /*[IF*/
  178. if((_running)==((void*)(NULL))){
  179. }
  180.  else if((r53count(((T53*)_running)))>(1)){
  181. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*8*/));
  182. }
  183. /*FI]*/
  184. }
  185. /*FI]*/
  186. X104afd_check((/*RF2*/(C)->_target/*4*/));
  187. /*[IF*/
  188. /*AF*//*AE*/
  189. /*FI]*/
  190. }
  191.  
  192.  
  193. void r130c_declare_for_old(T130* C){
  194. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  195. /*[IF*/
  196. /*AF*//*AE*/
  197. /*FI]*/
  198. }
  199.  
  200.  
  201. void r130collect_c_tmp(T130* C){
  202. /*[IF*/
  203. if(((/*RF2*/(C)->_run_feature/*8*/))!=((void*)(NULL))){
  204. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*8*/));
  205. }
  206. /*FI]*/
  207. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  208. /*[IF*/
  209. /*AF*//*AE*/
  210. /*FI]*/
  211. }
  212.  
  213.  
  214. T6 r130use_current(T130* C){
  215. T6 R=0;
  216. /*[IF*/
  217. /*AF*//*AE*/
  218. /*FI]*/
  219. /*[IF*/
  220. if(R){
  221. }
  222.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  223. R=X334use_current((/*RF2*/(C)->_run_feature/*8*/));
  224. }
  225. else{
  226. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  227. }
  228. /*FI]*/
  229. return R;
  230. }
  231.  
  232.  
  233. T0* r130to_runnable(T130* C,T0* a1){
  234. T0* R=NULL;
  235. T0* _rf=NULL;
  236. T0* _t=NULL;
  237. _t=r130runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  238. _rf=r130run_feature_for(C,_t,a1);
  239. /*[IF*/
  240. if(((/*RF2*/(C)->_run_feature/*8*/))==((void*)(NULL))){
  241. (/*SFN*/C->_target)=_t;
  242. (/*SFN*/C->_run_feature)=_rf;
  243. r130run_feature_match(C);
  244. R=((T0*)(C));
  245. }
  246.  else if((_t)==((void*)((/*RF2*/(C)->_target/*4*/)))){
  247. R=((T0*)(C));
  248. }
  249. else{
  250. {T130*n=((T130*)malloc(sizeof(*n))/*16*/);
  251. *n=M130;
  252. r130with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_rf);
  253. R=((T0*)n);
  254. }
  255. }
  256. /*FI]*/
  257. return R;
  258. }
  259.  
  260.  
  261. T2 r130to_integer(T130* C){
  262. T2 R=0;
  263. T0* _rf1=NULL;
  264. _rf1=(/*RF2*/(C)->_run_feature/*8*/);
  265. if(NULL!=(_rf1)){
  266. switch(((T0*)_rf1)->id){
  267. case 388:
  268. break;
  269. default:
  270. _rf1=NULL;
  271. }
  272. }/*[IF*/
  273. if((_rf1)==((void*)(NULL))){
  274. r130error(/*(IRF4.6start_position*/(/*RF2*/(((T133*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  275. }
  276. else{
  277. R=X104to_integer((/*RF2*/(((T388*)_rf1))->_value/*28*/));
  278. }
  279. /*FI]*/
  280. return R;
  281. }
  282.  
  283.  
  284. T6 r130is_static(T130* C){
  285. T6 R=0;
  286. T0* _rf=NULL;
  287. T0* _running=NULL;
  288. _running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*8*/)))))->_running/*9*/);
  289. /*[IF*/
  290. if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
  291. _rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*8*/));
  292. /*[IF*/
  293. if(X334is_static(_rf)){
  294. R=1;
  295. }
  296. /*FI]*/
  297. }
  298. /*FI]*/
  299. return R;
  300. }
  301.  
  302.  
  303. void r130finalize(T130* C){
  304. T0* _rf=NULL;
  305. T0* _rc=NULL;
  306. _rf=(/*RF2*/(C)->_run_feature/*8*/);
  307. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  308. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  309. }
  310.  
  311.  
  312. void r130error(T68 a1,T0* a2){
  313. r66add_position(a1);
  314. /*[IRF3.6append*/{T0* b1=a2;
  315. r7append((T7*)(oBC66explanation),b1);
  316. }/*]*/
  317. r66print_as_error((T66*)(oBC13eh));
  318. }
  319.  
  320.  
  321. T0* r130result_type(T130* C){
  322. T0* R=NULL;
  323. R=X334result_type((/*RF2*/(C)->_run_feature/*8*/));
  324. /*[IF*/
  325. if(X52is_like_current(R)){
  326. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*8*/)))->_current_type/*8*/);
  327. }
  328. /*FI]*/
  329. return R;
  330. }
  331.  
  332.  
  333. T6 r130can_be_dropped(T130* C){
  334. T6 R=0;
  335. /*[IF*/
  336. if(X104can_be_dropped((/*RF2*/(C)->_target/*4*/))){
  337. R=X334can_be_dropped((/*RF2*/(C)->_run_feature/*8*/));
  338. }
  339. /*FI]*/
  340. return R;
  341. }
  342.  
  343.  
  344. T6 r130call_proc_call_stupid_switch(T130* C,T0* a1){
  345. T6 R=0;
  346. /*[IF*/
  347. {/*AT*/R=1;
  348. }
  349. /*FI]*/
  350. /*[IF*/
  351. if(R){
  352. /*[IF*/
  353. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  354. /*[IF*/
  355. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*8*/),a1)){
  356. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*8*/),a1))!=((void*)(NULL));
  357. }
  358. else{
  359. R=0;
  360. }
  361. /*FI]*/
  362. }
  363. else{
  364. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  365. }
  366. /*FI]*/
  367. }
  368. /*FI]*/
  369. return R;
  370. }
  371.  
  372.  
  373. T0* r130run_feature_for(T130* C,T0* a1,T0* a2){
  374. T0* R=NULL;
  375. T0* _bc=NULL;
  376. T0* _rt=NULL;
  377. T0* _rc=NULL;
  378. _rt=X104result_type(a1);
  379. /*[IF*/
  380. if((_rt)!=((void*)(NULL))){
  381. _rc=X52run_class(_rt);
  382. /*[IF*/
  383. if((_rc)!=((void*)(NULL))){
  384. _bc=r50base_class(((T50*)_rc));
  385. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  386. }
  387. /*FI]*/
  388. }
  389. /*FI]*/
  390. /*[IF*/
  391. if((R)==((void*)(NULL))){
  392. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  393. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  394. r7append((T7*)(oBC66explanation),b1);
  395. }/*]*/
  396. r66print_as_fatal_error((T66*)(oBC13eh));
  397. }
  398. /*FI]*/
  399. return R;
  400. }
  401.  
  402.  
  403. T0* r130static_result_base_class(T130* C){
  404. T0* R=NULL;
  405. T0* _cn=NULL;
  406. T0* _rt=NULL;
  407. T0* _e_feature=NULL;
  408. T0* _bc=NULL;
  409. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  410. /*[IF*/
  411. if((_bc)!=((void*)(NULL))){
  412. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  413. /*[IF*/
  414. if((_e_feature)!=((void*)(NULL))){
  415. _rt=X90result_type(_e_feature);
  416. /*[IF*/
  417. if((_rt)!=((void*)(NULL))){
  418. _cn=X52static_base_class_name(_rt);
  419. /*[IF*/
  420. if((_cn)!=((void*)(NULL))){
  421. R=r61base_class(((T61*)_cn));
  422. }
  423. /*FI]*/
  424. }
  425. /*FI]*/
  426. }
  427. /*FI]*/
  428. }
  429. /*FI]*/
  430. return R;
  431. }
  432.  
  433.  
  434. void r130make(T130* C,T0* a1,T0* a2){
  435. (/*SFN*/C->_target)=a1;
  436. (/*SFN*/C->_feature_name)=a2;
  437. }
  438.  
  439.  
  440. void r130fatal_error(T0* a1){
  441. /*[IRF3.6append*/{T0* b1=a1;
  442. r7append((T7*)(oBC66explanation),b1);
  443. }/*]*/
  444. r66print_as_fatal_error((T66*)(oBC13eh));
  445. }
  446.  
  447.  
  448. void r130assertion_check(T130* C,T3 a1){
  449. /*[IF*/
  450. if((a1)==(((T3)'R'))){
  451. X334vape_check_from((/*RF2*/(C)->_run_feature/*8*/),/*(IRF4.6start_position*/(/*RF2*/(((T133*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  452. }
  453. /*FI]*/
  454. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  455. }
  456.  
  457.  
  458. T6 r130stupid_switch(T130* C,T0* a1){
  459. T6 R=0;
  460. R=r130call_proc_call_stupid_switch(C,a1);
  461. /*[IF*/
  462. if(R){
  463. R=!(X52is_native_array(r130result_type(C)));
  464. }
  465. /*FI]*/
  466. return R;
  467. }
  468.  
  469.  
  470. void r262gc_na_env_in(T262* C,T0* a1){
  471. r7append(((T7*)a1),((T0*)ms262_7326));
  472. r2append_in(r262id(C),a1);
  473. }
  474.  
  475.  
  476. void r262standard_c_print_function(T262* C){
  477. /*[IF*/
  478. if(r47no_check((T47*)(oBC13run_control))){
  479. r50c_print_function((T50*)(r262run_class(C)));
  480. }
  481. /*FI]*/
  482. }
  483.  
  484.  
  485. T2 r262id(T262* C){
  486. T2 R=0;
  487. R=(/*RF2*/((T50*)(r262run_class(C)))->_id/*4*/);
  488. return R;
  489. }
  490.  
  491.  
  492. void r262cast_to_ref(T262* C){
  493. r262cast_to_ref((T262*)((/*RF2*/(C)->_run_type/*16*/)));
  494. }
  495.  
  496.  
  497. void r262just_before_gc_mark_in(T262* C,T0* a1){
  498. r7append(((T7*)a1),((T0*)ms262_741));
  499. r262gc_na_env_in(C,a1);
  500. r7append(((T7*)a1),((T0*)ms262_10592));
  501. r262gc_na_env_in(C,a1);
  502. r7append(((T7*)a1),((T0*)ms262_34440));
  503. r262gc_na_env_in(C,a1);
  504. r7append(((T7*)a1),((T0*)ms262_8216));
  505. r262gc_na_env_in(C,a1);
  506. r7append(((T7*)a1),((T0*)ms262_32264));
  507. r262gc_na_env_in(C,a1);
  508. r7append(((T7*)a1),((T0*)ms262_11424));
  509. r262gc_na_env_in(C,a1);
  510. r7append(((T7*)a1),((T0*)ms262_11808));
  511. r262gc_na_env_in(C,a1);
  512. r7append(((T7*)a1),((T0*)ms262_13148));
  513. }
  514.  
  515.  
  516. void r262gc_call_new_in(T262* C,T0* a1){
  517. r7append(((T7*)a1),((T0*)ms14_990));
  518. r2append_in(r262id(C),a1);
  519. r7extend(((T7*)a1),((T3)'\50'));
  520. r7extend(((T7*)a1),((T3)'\51'));
  521. }
  522.  
  523.  
  524. T0* r262base_class(T262* C){
  525. T0* R=NULL;
  526. T0* _bcn=NULL;
  527. _bcn=(/*RF2*/(C)->_base_class_name/*4*/);
  528. /*[IF*/
  529. if((_bcn)!=((void*)(NULL))){
  530. R=r61base_class(((T61*)_bcn));
  531. }
  532. else{
  533. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  534. r7append((T7*)(oBC66explanation),b1);
  535. }/*]*/
  536. r66add_type((T0*)C,((T0*)ms14_46));
  537. r66print_as_fatal_error((T66*)(oBC13eh));
  538. }
  539. /*FI]*/
  540. return R;
  541. }
  542.  
  543.  
  544. T0* r262look_up_for(T262* C,T0* a1,T0* a2){
  545. T0* R=NULL;
  546. R=r51look_up_for((T51*)(r262base_class(C)),a1,a2);
  547. return R;
  548. }
  549.  
  550.  
  551. void r262mapping_cast(T262* C){
  552. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
  553. /*]*/
  554. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
  555. /*[IRF3.6c_type_for_target_in*/{T262* C1=C;
  556. T0* b1=((T0*)ms52_15456);
  557. r262c_type_for_argument_in(C1,b1);
  558. }/*]*/
  559. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
  560. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
  561. /*]*/
  562. }
  563.  
  564.  
  565. T0* r262actual_reference(T0* a1){
  566. T0* R=NULL;
  567. return R;
  568. }
  569.  
  570.  
  571. T6 r262is_a_in(T262* C,T0* a1,T0* a2){
  572. T6 R=0;
  573. T0* _ct=NULL;
  574. T0* _t2=NULL;
  575. T0* _t1=NULL;
  576. /*[IF*/
  577. if(((/*RF2*/(C)->_written_mark/*12*/))==((void*)(X52written_mark(a1)))){
  578. R=1;
  579. }
  580. else{
  581. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  582. _t1=r262to_runnable(C,_ct);
  583. _t2=X52to_runnable(a1,_ct);
  584. /*[IF*/
  585. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  586. R=1;
  587. }
  588. else{
  589. R=X52is_a(_t1,_t2);
  590. }
  591. /*FI]*/
  592. }
  593. /*FI]*/
  594. return R;
  595. }
  596.  
  597.  
  598. T6 r262is_native_array(T262* C){
  599. T6 R=0;
  600. T0* _tna=NULL;
  601. _tna=((void*)C);
  602. R=(_tna)!=((void*)(NULL));
  603. return R;
  604. }
  605.  
  606.  
  607. T6 r262is_a(T262* C,T0* a1){
  608. T6 R=0;
  609. R=(r262run_time_mark(C))==((void*)(X52run_time_mark(a1)));
  610. /*[IF*/
  611. if(!(R)){
  612. r66add_type((T0*)C,((T0*)ms14_17460));
  613. r66add_type(a1,((T0*)ms14_46));
  614. }
  615. /*FI]*/
  616. return R;
  617. }
  618.  
  619.  
  620. void r262make(T262* C,T68 a1,T0* a2){
  621. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  622. *n=M61;
  623. r61make(n,((T0*)ms15_17448),a1);
  624. (/*SFN*/C->_base_class_name)=((T0*)n);
  625. }
  626. {T258*n=((T258*)malloc(sizeof(*n))/*16*/);
  627. *n=M258;
  628. r258make(n,1,1);
  629. (/*SFN*/C->_generic_list)=((T0*)n);
  630. }
  631. /*[IRF3.6put*/{T258* C1=(T258*)((/*RF2*/(C)->_generic_list/*8*/));
  632. T0* b1=a2;
  633. T2 b2=1;
  634. ((/*RF2*/(C1)->_storage/*0*/))[(b2)-((/*RF2*/(C1)->_lower/*12*/))]=(b1);
  635. }/*]*/
  636. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms15_17448));
  637. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\133'));
  638. r7append((T7*)(((T0*)ms52_783104)),X52written_mark(a2));
  639. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\135'));
  640. (/*SFN*/C->_written_mark)=((/*UT*/(void)((T21*)(r262string_aliaser()))),r21item(((T0*)ms52_783104)));
  641. }
  642.  
  643.  
  644. T2 r262c_sizeof_pointer(void){
  645. T2 R=0;
  646. T8 _p=NULL;
  647. R=sizeof(T8);
  648. return R;
  649. }
  650.  
  651.  
  652. void r262load_basic_features(T262* C){
  653. T0* _rc=NULL;
  654. T0* _rf=NULL;
  655. T0* _et=NULL;
  656. _rc=r262run_class(C);
  657. r50set_at_run_time(((T50*)_rc));
  658. _et=/*(IRF4.6elements_type*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/;
  659. /*[IF*/
  660. if(X52is_expanded(_et)){
  661. r50set_at_run_time((T50*)(X52run_class(_et)));
  662. }
  663. /*FI]*/
  664. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
  665. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1035));
  666. /*[IF*/
  667. if((X52expanded_initializer(_et))!=((void*)(NULL))){
  668. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_13419));
  669. }
  670. /*FI]*/
  671. }
  672.  
  673.  
  674. T6 r262is_run_type(T262* C){
  675. T6 R=0;
  676. T0* _et=NULL;
  677. /*[IF*/
  678. if(((/*RF2*/(C)->_run_type/*16*/))!=((void*)(NULL))){
  679. R=1;
  680. }
  681. else{
  682. _et=/*(IRF4.6elements_type*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/;
  683. /*[IF*/
  684. if((X52is_run_type(_et))&&((X52run_type(_et))==((void*)(_et)))){
  685. (/*SFN*/C->_run_type)=((T0*)(C));
  686. r262load_basic_features(C);
  687. R=1;
  688. }
  689. /*FI]*/
  690. }
  691. /*FI]*/
  692. return R;
  693. }
  694.  
  695.  
  696. T0* r262type_any(void){
  697. if(fBC13type_any==0){fBC13type_any=1;{
  698. T68 _unknown_position={NULL,0};
  699. {T259*n=((T259*)malloc(sizeof(*n))/*8*/);
  700. *n=M259;
  701. oBC13type_any=((T0*)n);
  702. r259make(n,_unknown_position);
  703. }
  704. }}
  705. return oBC13type_any;
  706. }
  707.  
  708.  
  709. T0* r262smallest_ancestor(T262* C,T0* a1){
  710. T0* R=NULL;
  711. T0* _rto=NULL;
  712. _rto=X52run_type(a1);
  713. /*[IF*/
  714. if(X52is_a(_rto,(/*RF2*/(C)->_run_type/*16*/))){
  715. R=_rto;
  716. }
  717.  else if(r262is_a((T262*)((/*RF2*/(C)->_run_type/*16*/)),_rto)){
  718. R=(/*RF2*/(C)->_run_type/*16*/);
  719. }
  720. else{
  721. R=r262type_any();
  722. }
  723. /*FI]*/
  724. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  725. /*]*/
  726. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  727. /*]*/
  728. /*]*/
  729. return R;
  730. }
  731.  
  732.  
  733. void r262c_header_pass2(T262* C){
  734. T0* _et=NULL;
  735. r50c_header_pass2((T50*)(X52run_class(/*(IRF4.6first*/((/*RF2*/((T258*)((/*RF2*/(C)->_generic_list/*8*/)))->_storage/*0*/))[0]/*)*/)));
  736. _et=X52run_type(/*(IRF4.6elements_type*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/);
  737. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
  738. r262c_type_in(C,((T0*)ms52_783104));
  739. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  740. r2append_in(r262id(C),((T0*)ms52_783104));
  741. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  742. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  743. /*]*/
  744. }
  745.  
  746.  
  747. T0* r262string_aliaser(void){
  748. if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
  749. {T21*n=((T21*)malloc(1));
  750. oBC13string_aliaser=((T0*)n);
  751. /*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
  752. r23put((T23*)(oBC21memory),b1,b1);
  753. }/*]*/
  754. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
  755. r23put((T23*)(oBC21memory),b1,b1);
  756. }/*]*/
  757. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
  758. r23put((T23*)(oBC21memory),b1,b1);
  759. }/*]*/
  760. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
  761. r23put((T23*)(oBC21memory),b1,b1);
  762. }/*]*/
  763. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
  764. r23put((T23*)(oBC21memory),b1,b1);
  765. }/*]*/
  766. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
  767. r23put((T23*)(oBC21memory),b1,b1);
  768. }/*]*/
  769. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
  770. r23put((T23*)(oBC21memory),b1,b1);
  771. }/*]*/
  772. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
  773. r23put((T23*)(oBC21memory),b1,b1);
  774. }/*]*/
  775. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
  776. r23put((T23*)(oBC21memory),b1,b1);
  777. }/*]*/
  778. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
  779. r23put((T23*)(oBC21memory),b1,b1);
  780. }/*]*/
  781. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
  782. r23put((T23*)(oBC21memory),b1,b1);
  783. }/*]*/
  784. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
  785. r23put((T23*)(oBC21memory),b1,b1);
  786. }/*]*/
  787. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
  788. r23put((T23*)(oBC21memory),b1,b1);
  789. }/*]*/
  790. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
  791. r23put((T23*)(oBC21memory),b1,b1);
  792. }/*]*/
  793. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
  794. r23put((T23*)(oBC21memory),b1,b1);
  795. }/*]*/
  796. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
  797. r23put((T23*)(oBC21memory),b1,b1);
  798. }/*]*/
  799. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
  800. r23put((T23*)(oBC21memory),b1,b1);
  801. }/*]*/
  802. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
  803. r23put((T23*)(oBC21memory),b1,b1);
  804. }/*]*/
  805. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
  806. r23put((T23*)(oBC21memory),b1,b1);
  807. }/*]*/
  808. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
  809. r23put((T23*)(oBC21memory),b1,b1);
  810. }/*]*/
  811. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
  812. r23put((T23*)(oBC21memory),b1,b1);
  813. }/*]*/
  814. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
  815. r23put((T23*)(oBC21memory),b1,b1);
  816. }/*]*/
  817. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
  818. r23put((T23*)(oBC21memory),b1,b1);
  819. }/*]*/
  820. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
  821. r23put((T23*)(oBC21memory),b1,b1);
  822. }/*]*/
  823. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
  824. r23put((T23*)(oBC21memory),b1,b1);
  825. }/*]*/
  826. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
  827. r23put((T23*)(oBC21memory),b1,b1);
  828. }/*]*/
  829. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
  830. r23put((T23*)(oBC21memory),b1,b1);
  831. }/*]*/
  832. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
  833. r23put((T23*)(oBC21memory),b1,b1);
  834. }/*]*/
  835. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
  836. r23put((T23*)(oBC21memory),b1,b1);
  837. }/*]*/
  838. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
  839. r23put((T23*)(oBC21memory),b1,b1);
  840. }/*]*/
  841. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
  842. r23put((T23*)(oBC21memory),b1,b1);
  843. }/*]*/
  844. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
  845. r23put((T23*)(oBC21memory),b1,b1);
  846. }/*]*/
  847. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
  848. r23put((T23*)(oBC21memory),b1,b1);
  849. }/*]*/
  850. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
  851. r23put((T23*)(oBC21memory),b1,b1);
  852. }/*]*/
  853. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
  854. r23put((T23*)(oBC21memory),b1,b1);
  855. }/*]*/
  856. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
  857. r23put((T23*)(oBC21memory),b1,b1);
  858. }/*]*/
  859. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
  860. r23put((T23*)(oBC21memory),b1,b1);
  861. }/*]*/
  862. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
  863. r23put((T23*)(oBC21memory),b1,b1);
  864. }/*]*/
  865. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
  866. r23put((T23*)(oBC21memory),b1,b1);
  867. }/*]*/
  868. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
  869. r23put((T23*)(oBC21memory),b1,b1);
  870. }/*]*/
  871. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
  872. r23put((T23*)(oBC21memory),b1,b1);
  873. }/*]*/
  874. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
  875. r23put((T23*)(oBC21memory),b1,b1);
  876. }/*]*/
  877. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
  878. r23put((T23*)(oBC21memory),b1,b1);
  879. }/*]*/
  880. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
  881. r23put((T23*)(oBC21memory),b1,b1);
  882. }/*]*/
  883. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
  884. r23put((T23*)(oBC21memory),b1,b1);
  885. }/*]*/
  886. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
  887. r23put((T23*)(oBC21memory),b1,b1);
  888. }/*]*/
  889. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
  890. r23put((T23*)(oBC21memory),b1,b1);
  891. }/*]*/
  892. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
  893. r23put((T23*)(oBC21memory),b1,b1);
  894. }/*]*/
  895. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
  896. r23put((T23*)(oBC21memory),b1,b1);
  897. }/*]*/
  898. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
  899. r23put((T23*)(oBC21memory),b1,b1);
  900. }/*]*/
  901. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
  902. r23put((T23*)(oBC21memory),b1,b1);
  903. }/*]*/
  904. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
  905. r23put((T23*)(oBC21memory),b1,b1);
  906. }/*]*/
  907. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
  908. r23put((T23*)(oBC21memory),b1,b1);
  909. }/*]*/
  910. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
  911. r23put((T23*)(oBC21memory),b1,b1);
  912. }/*]*/
  913. r21add2(((T0*)ms15_22524));
  914. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
  915. r23put((T23*)(oBC21memory),b1,b1);
  916. }/*]*/
  917. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
  918. r23put((T23*)(oBC21memory),b1,b1);
  919. }/*]*/
  920. r21add2(((T0*)ms15_29246));
  921. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
  922. r23put((T23*)(oBC21memory),b1,b1);
  923. }/*]*/
  924. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
  925. r23put((T23*)(oBC21memory),b1,b1);
  926. }/*]*/
  927. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
  928. r23put((T23*)(oBC21memory),b1,b1);
  929. }/*]*/
  930. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
  931. r23put((T23*)(oBC21memory),b1,b1);
  932. }/*]*/
  933. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
  934. r23put((T23*)(oBC21memory),b1,b1);
  935. }/*]*/
  936. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
  937. r23put((T23*)(oBC21memory),b1,b1);
  938. }/*]*/
  939. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
  940. r23put((T23*)(oBC21memory),b1,b1);
  941. }/*]*/
  942. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
  943. r23put((T23*)(oBC21memory),b1,b1);
  944. }/*]*/
  945. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
  946. r23put((T23*)(oBC21memory),b1,b1);
  947. }/*]*/
  948. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
  949. r23put((T23*)(oBC21memory),b1,b1);
  950. }/*]*/
  951. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
  952. r23put((T23*)(oBC21memory),b1,b1);
  953. }/*]*/
  954. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
  955. r23put((T23*)(oBC21memory),b1,b1);
  956. }/*]*/
  957. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
  958. r23put((T23*)(oBC21memory),b1,b1);
  959. }/*]*/
  960. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
  961. r23put((T23*)(oBC21memory),b1,b1);
  962. }/*]*/
  963. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
  964. r23put((T23*)(oBC21memory),b1,b1);
  965. }/*]*/
  966. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
  967. r23put((T23*)(oBC21memory),b1,b1);
  968. }/*]*/
  969. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
  970. r23put((T23*)(oBC21memory),b1,b1);
  971. }/*]*/
  972. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
  973. r23put((T23*)(oBC21memory),b1,b1);
  974. }/*]*/
  975. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
  976. r23put((T23*)(oBC21memory),b1,b1);
  977. }/*]*/
  978. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
  979. r23put((T23*)(oBC21memory),b1,b1);
  980. }/*]*/
  981. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
  982. r23put((T23*)(oBC21memory),b1,b1);
  983. }/*]*/
  984. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
  985. r23put((T23*)(oBC21memory),b1,b1);
  986. }/*]*/
  987. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
  988. r23put((T23*)(oBC21memory),b1,b1);
  989. }/*]*/
  990. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
  991. r23put((T23*)(oBC21memory),b1,b1);
  992. }/*]*/
  993. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
  994. r23put((T23*)(oBC21memory),b1,b1);
  995. }/*]*/
  996. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
  997. r23put((T23*)(oBC21memory),b1,b1);
  998. }/*]*/
  999. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
  1000. r23put((T23*)(oBC21memory),b1,b1);
  1001. }/*]*/
  1002. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
  1003. r23put((T23*)(oBC21memory),b1,b1);
  1004. }/*]*/
  1005. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
  1006. r23put((T23*)(oBC21memory),b1,b1);
  1007. }/*]*/
  1008. r21add2(((T0*)ms15_22596));
  1009. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
  1010. r23put((T23*)(oBC21memory),b1,b1);
  1011. }/*]*/
  1012. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
  1013. r23put((T23*)(oBC21memory),b1,b1);
  1014. }/*]*/
  1015. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
  1016. r23put((T23*)(oBC21memory),b1,b1);
  1017. }/*]*/
  1018. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
  1019. r23put((T23*)(oBC21memory),b1,b1);
  1020. }/*]*/
  1021. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
  1022. r23put((T23*)(oBC21memory),b1,b1);
  1023. }/*]*/
  1024. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
  1025. r23put((T23*)(oBC21memory),b1,b1);
  1026. }/*]*/
  1027. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
  1028. r23put((T23*)(oBC21memory),b1,b1);
  1029. }/*]*/
  1030. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
  1031. r23put((T23*)(oBC21memory),b1,b1);
  1032. }/*]*/
  1033. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
  1034. r23put((T23*)(oBC21memory),b1,b1);
  1035. }/*]*/
  1036. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
  1037. r23put((T23*)(oBC21memory),b1,b1);
  1038. }/*]*/
  1039. r21add2(((T0*)ms15_60016));
  1040. r21add2(((T0*)ms15_26880));
  1041. r21add2(((T0*)ms15_33240));
  1042. r21add2(((T0*)ms15_21624));
  1043. r21add2(((T0*)ms15_60060));
  1044. r21add2(((T0*)ms15_26908));
  1045. r21add2(((T0*)ms15_33270));
  1046. r21add2(((T0*)ms15_21648));
  1047. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
  1048. r23put((T23*)(oBC21memory),b1,b1);
  1049. }/*]*/
  1050. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
  1051. r23put((T23*)(oBC21memory),b1,b1);
  1052. }/*]*/
  1053. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
  1054. r23put((T23*)(oBC21memory),b1,b1);
  1055. }/*]*/
  1056. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
  1057. r23put((T23*)(oBC21memory),b1,b1);
  1058. }/*]*/
  1059. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
  1060. r23put((T23*)(oBC21memory),b1,b1);
  1061. }/*]*/
  1062. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
  1063. r23put((T23*)(oBC21memory),b1,b1);
  1064. }/*]*/
  1065. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
  1066. r23put((T23*)(oBC21memory),b1,b1);
  1067. }/*]*/
  1068. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
  1069. r23put((T23*)(oBC21memory),b1,b1);
  1070. }/*]*/
  1071. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
  1072. r23put((T23*)(oBC21memory),b1,b1);
  1073. }/*]*/
  1074. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
  1075. r23put((T23*)(oBC21memory),b1,b1);
  1076. }/*]*/
  1077. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
  1078. r23put((T23*)(oBC21memory),b1,b1);
  1079. }/*]*/
  1080. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
  1081. r23put((T23*)(oBC21memory),b1,b1);
  1082. }/*]*/
  1083. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
  1084. r23put((T23*)(oBC21memory),b1,b1);
  1085. }/*]*/
  1086. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
  1087. r23put((T23*)(oBC21memory),b1,b1);
  1088. }/*]*/
  1089. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
  1090. r23put((T23*)(oBC21memory),b1,b1);
  1091. }/*]*/
  1092. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
  1093. r23put((T23*)(oBC21memory),b1,b1);
  1094. }/*]*/
  1095. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
  1096. r23put((T23*)(oBC21memory),b1,b1);
  1097. }/*]*/
  1098. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
  1099. r23put((T23*)(oBC21memory),b1,b1);
  1100. }/*]*/
  1101. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
  1102. r23put((T23*)(oBC21memory),b1,b1);
  1103. }/*]*/
  1104. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
  1105. r23put((T23*)(oBC21memory),b1,b1);
  1106. }/*]*/
  1107. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
  1108. r23put((T23*)(oBC21memory),b1,b1);
  1109. }/*]*/
  1110. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
  1111. r23put((T23*)(oBC21memory),b1,b1);
  1112. }/*]*/
  1113. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
  1114. r23put((T23*)(oBC21memory),b1,b1);
  1115. }/*]*/
  1116. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
  1117. r23put((T23*)(oBC21memory),b1,b1);
  1118. }/*]*/
  1119. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
  1120. r23put((T23*)(oBC21memory),b1,b1);
  1121. }/*]*/
  1122. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
  1123. r23put((T23*)(oBC21memory),b1,b1);
  1124. }/*]*/
  1125. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
  1126. r23put((T23*)(oBC21memory),b1,b1);
  1127. }/*]*/
  1128. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
  1129. r23put((T23*)(oBC21memory),b1,b1);
  1130. }/*]*/
  1131. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
  1132. r23put((T23*)(oBC21memory),b1,b1);
  1133. }/*]*/
  1134. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
  1135. r23put((T23*)(oBC21memory),b1,b1);
  1136. }/*]*/
  1137. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
  1138. r23put((T23*)(oBC21memory),b1,b1);
  1139. }/*]*/
  1140. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
  1141. r23put((T23*)(oBC21memory),b1,b1);
  1142. }/*]*/
  1143. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
  1144. r23put((T23*)(oBC21memory),b1,b1);
  1145. }/*]*/
  1146. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
  1147. r23put((T23*)(oBC21memory),b1,b1);
  1148. }/*]*/
  1149. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
  1150. r23put((T23*)(oBC21memory),b1,b1);
  1151. }/*]*/
  1152. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
  1153. r23put((T23*)(oBC21memory),b1,b1);
  1154. }/*]*/
  1155. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
  1156. r23put((T23*)(oBC21memory),b1,b1);
  1157. }/*]*/
  1158. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
  1159. r23put((T23*)(oBC21memory),b1,b1);
  1160. }/*]*/
  1161. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
  1162. r23put((T23*)(oBC21memory),b1,b1);
  1163. }/*]*/
  1164. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
  1165. r23put((T23*)(oBC21memory),b1,b1);
  1166. }/*]*/
  1167. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
  1168. r23put((T23*)(oBC21memory),b1,b1);
  1169. }/*]*/
  1170. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
  1171. r23put((T23*)(oBC21memory),b1,b1);
  1172. }/*]*/
  1173. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
  1174. r23put((T23*)(oBC21memory),b1,b1);
  1175. }/*]*/
  1176. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
  1177. r23put((T23*)(oBC21memory),b1,b1);
  1178. }/*]*/
  1179. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
  1180. r23put((T23*)(oBC21memory),b1,b1);
  1181. }/*]*/
  1182. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
  1183. r23put((T23*)(oBC21memory),b1,b1);
  1184. }/*]*/
  1185. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
  1186. r23put((T23*)(oBC21memory),b1,b1);
  1187. }/*]*/
  1188. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
  1189. r23put((T23*)(oBC21memory),b1,b1);
  1190. }/*]*/
  1191. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
  1192. r23put((T23*)(oBC21memory),b1,b1);
  1193. }/*]*/
  1194. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
  1195. r23put((T23*)(oBC21memory),b1,b1);
  1196. }/*]*/
  1197. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
  1198. r23put((T23*)(oBC21memory),b1,b1);
  1199. }/*]*/
  1200. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
  1201. r23put((T23*)(oBC21memory),b1,b1);
  1202. }/*]*/
  1203. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
  1204. r23put((T23*)(oBC21memory),b1,b1);
  1205. }/*]*/
  1206. /*]*/
  1207. }
  1208. }}
  1209. return oBC13string_aliaser;
  1210. }
  1211.  
  1212.  
  1213. T0* r262to_runnable(T262* C,T0* a1){
  1214. T0* R=NULL;
  1215. T0* _rt=NULL;
  1216. T0* _et2=NULL;
  1217. T0* _et1=NULL;
  1218. _et1=/*(IRF4.6elements_type*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/;
  1219. _et2=X52to_runnable(_et1,a1);
  1220. /*[IF*/
  1221. if((_et2)==((void*)(NULL))){
  1222. /*[IF*/
  1223. if((_et2)!=((void*)(NULL))){
  1224. {T68 se_tmp0;
  1225. r66add_position((*(se_tmp0=X52start_position(_et2),&se_tmp0)));
  1226. }
  1227. }
  1228. /*FI]*/
  1229. {T68 se_tmp0;
  1230. r66add_position((*(se_tmp0=X52start_position(_et1),&se_tmp0)));
  1231. }
  1232. r262fatal_error(((T0*)ms14_28644));
  1233. }
  1234. /*FI]*/
  1235. _et2=X52run_type(_et2);
  1236. /*[IF*/
  1237. if(((/*RF2*/(C)->_run_type/*16*/))==((void*)(NULL))){
  1238. R=((T0*)(C));
  1239. /*[IF*/
  1240. if((_et2)==((void*)(_et1))){
  1241. (/*SFN*/C->_run_type)=((T0*)(C));
  1242. r262load_basic_features(C);
  1243. }
  1244. else{
  1245. {T262*n=((T262*)malloc(sizeof(*n))/*20*/);
  1246. *n=M262;
  1247. r262make_runnable(n,/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,_et2);
  1248. (/*SFN*/C->_run_type)=((T0*)n);
  1249. }
  1250. r262load_basic_features((T262*)((/*RF2*/(C)->_run_type/*16*/)));
  1251. }
  1252. /*FI]*/
  1253. }
  1254.  else if((_et2)==((void*)(_et1))){
  1255. R=((T0*)(C));
  1256. }
  1257. else{
  1258. R=r262twin(C);
  1259. {T262*n=((T262*)malloc(sizeof(*n))/*20*/);
  1260. *n=M262;
  1261. r262make_runnable(n,/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,_et2);
  1262. _rt=((T0*)n);
  1263. }
  1264. /*[IRF3.3set_run_type*/((((T262*)(((T262*)R))))->_run_type)=(_rt);
  1265. /*]*/
  1266. r262load_basic_features(((T262*)_rt));
  1267. }
  1268. /*FI]*/
  1269. return R;
  1270. }
  1271.  
  1272.  
  1273. void r262make_runnable(T262* C,T68 a1,T0* a2){
  1274. r262make(C,a1,a2);
  1275. (/*SFN*/C->_run_type)=((T0*)(C));
  1276. }
  1277.  
  1278.  
  1279. T0* r262twin(T262* C){
  1280. T0* R=NULL;
  1281. R=malloc(sizeof(*C));
  1282. *((T262*)R)=*C;
  1283. return R;
  1284. }
  1285.  
  1286.  
  1287. void r262id_extra_information(T0* a1){
  1288. r48put_string(((T48*)a1),((T0*)ms52_9724));
  1289. /*[IF*/
  1290. /*AF*//*AE*/
  1291. r48put_string(((T48*)a1),((T0*)ms52_759));
  1292. /*FI]*/
  1293. }
  1294.  
  1295.  
  1296. void r262gc_define1(T262* C){
  1297. T2 _rcid=0;
  1298. T0* _rc=NULL;
  1299. _rc=r262run_class(C);
  1300. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  1301. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms262_5159));
  1302. r262gc_na_env_in(C,((T0*)ms52_783104a));
  1303. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms262_54080));
  1304. r262gc_mark_in(C,((T0*)ms52_3073536));
  1305. r7extend((T7*)(((T0*)ms52_3073536)),((T3)'\175'));
  1306. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  1307. /*[IF*/
  1308. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  1309. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  1310. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  1311. r262gc_info_nb_in(C,((T0*)ms52_783104a));
  1312. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  1313. }
  1314. /*FI]*/
  1315. }
  1316.  
  1317.  
  1318. void r262gc_mark_in(T262* C,T0* a1){
  1319. r7append(((T7*)a1),((T0*)ms14_8764));
  1320. r2append_in(r262id(C),a1);
  1321. }
  1322.  
  1323.  
  1324. void r262gc_info_nb_in(T262* C,T0* a1){
  1325. r7append(((T7*)a1),((T0*)ms52_14920));
  1326. r2append_in(r262id(C),a1);
  1327. }
  1328.  
  1329.  
  1330. void r262c_type_for_external_in(T262* C,T0* a1){
  1331. /*[IF*/
  1332. /*AF*//*AE*/
  1333. /*[IRF3.6c_type_for_result_in*/{T262* C1=C;
  1334. T0* b1=a1;
  1335. r262c_type_for_argument_in(C1,b1);
  1336. }/*]*/
  1337. /*FI]*/
  1338. }
  1339.  
  1340.  
  1341. void r262c_type_for_argument_in(T262* C,T0* a1){
  1342. r7extend(((T7*)a1),((T3)'T'));
  1343. r2append_in(r262id(C),a1);
  1344. }
  1345.  
  1346.  
  1347. T0* r262run_time_mark(T262* C){
  1348. T0* R=NULL;
  1349. /*[IF*/
  1350. if(r262is_run_type(C)){
  1351. R=(/*RF2*/((T262*)((/*RF2*/(C)->_run_type/*16*/)))->_written_mark/*12*/);
  1352. }
  1353. /*FI]*/
  1354. return R;
  1355. }
  1356.  
  1357.  
  1358. T0* r262run_class(T262* C){
  1359. T0* R=NULL;
  1360. /*[IF*/
  1361. if(r262is_run_type(C)){
  1362. R=r49run_class((/*RF2*/(C)->_run_type/*16*/));
  1363. }
  1364. /*FI]*/
  1365. return R;
  1366. }
  1367.  
  1368.  
  1369. void r262fatal_error(T0* a1){
  1370. /*[IRF3.6append*/{T0* b1=a1;
  1371. r7append((T7*)(oBC66explanation),b1);
  1372. }/*]*/
  1373. r66print_as_fatal_error((T66*)(oBC13eh));
  1374. }
  1375.  
  1376.  
  1377. void r262gc_mark(T262* C,T6 a1){
  1378. T0* _et_rc=NULL;
  1379. T0* _et=NULL;
  1380. _et=/*(IRF4.6elements_type*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/;
  1381. _et_rc=X52run_class(_et);
  1382. /*[IF*/
  1383. if(X52need_gc_mark_function(_et)){
  1384. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_14616));
  1385. /*[IF*/
  1386. if(!(a1)){
  1387. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_35303));
  1388. }
  1389. /*FI]*/
  1390. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_25704));
  1391. r7extend((T7*)(((T0*)ms52_3073536)),((T3)'\173'));
  1392. r262c_type_in(C,((T0*)ms52_3073536));
  1393. r7remove_last((T7*)(((T0*)ms52_3073536)),1);
  1394. r7extend((T7*)(((T0*)ms52_3073536)),((T3)'\40'));
  1395. r7extend((T7*)(((T0*)ms52_3073536)),((T3)'e'));
  1396. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  1397. r262c_type_in(C,((T0*)ms52_3073536));
  1398. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_146744));
  1399. r344mark_for(((T0*)ms52_3073536),((T0*)ms262_101),_et_rc);
  1400. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_1400));
  1401. /*[IF*/
  1402. if(!(a1)){
  1403. r7extend((T7*)(((T0*)ms52_3073536)),((T3)'\175'));
  1404. }
  1405. /*FI]*/
  1406. }
  1407. else{
  1408. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_38493));
  1409. }
  1410. /*FI]*/
  1411. }
  1412.  
  1413.  
  1414. T6 r262stupid_switch(T262* C,T0* a1){
  1415. T6 R=0;
  1416. R=X52stupid_switch(/*(IRF4.6first*/((/*RF2*/((T258*)((/*RF2*/(C)->_generic_list/*8*/)))->_storage/*0*/))[0]/*)*/,a1);
  1417. return R;
  1418. }
  1419.  
  1420.  
  1421. void r262demangling_in(T262* C,T0* a1){
  1422. /*[IF*/
  1423. /*AF*//*AE*/
  1424. r7extend(((T7*)a1),((T3)'E'));
  1425. /*FI]*/
  1426. r7extend(((T7*)a1),((T3)'\40'));
  1427. r7append(((T7*)a1),r262run_time_mark(C));
  1428. }
  1429.  
  1430.  
  1431. void r262c_type_in(T262* C,T0* a1){
  1432. T0* _et=NULL;
  1433. _et=/*(IRF4.6elements_type*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/;
  1434. r7extend(((T7*)a1),((T3)'T'));
  1435. /*[IF*/
  1436. if(X52is_reference(_et)){
  1437. r7extend(((T7*)a1),((T3)'0'));
  1438. r7extend(((T7*)a1),((T3)'\52'));
  1439. }
  1440. else{
  1441. r2append_in(X52id(_et),a1);
  1442. }
  1443. /*FI]*/
  1444. r7extend(((T7*)a1),((T3)'\52'));
  1445. }
  1446.  
  1447.  
  1448. void r262c_frame_descriptor(T262* C){
  1449. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  1450. /*[IF*/
  1451. /*AF*//*AE*/
  1452. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'E'));
  1453. /*FI]*/
  1454. r2append_in(r262id(C),oBC13c_frame_descriptor_format);
  1455. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  1456. }
  1457.  
  1458.  
  1459. void r262gc_info_in(T262* C,T0* a1){
  1460. r7append(((T7*)a1),((T0*)ms262_22591));
  1461. r7append(((T7*)a1),r262run_time_mark(C));
  1462. r7append(((T7*)a1),((T0*)ms14_5895));
  1463. r262gc_info_nb_in(C,a1);
  1464. r7append(((T7*)a1),((T0*)ms14_330));
  1465. }
  1466.  
  1467.  
  1468. void r262gc_define2(T262* C){
  1469. T2 _rcid=0;
  1470. T0* _et_rc=NULL;
  1471. T0* _et=NULL;
  1472. _et=/*(IRF4.6elements_type*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/;
  1473. _et_rc=X52run_class(_et);
  1474. _rcid=(/*RF2*/((T50*)(r262run_class(C)))->_id/*4*/);
  1475. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  1476. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  1477. r262gc_mark_in(C,((T0*)ms52_783104a));
  1478. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms262_248));
  1479. r2append_in(_rcid,((T0*)ms52_783104a));
  1480. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms262_552));
  1481. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  1482. /*]*/
  1483. r262gc_mark(C,0);
  1484. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  1485. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104a)))))->_count)=(0);
  1486. /*]*/
  1487. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'T'));
  1488. r2append_in(_rcid,((T0*)ms52_783104a));
  1489. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  1490. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_990));
  1491. r2append_in(_rcid,((T0*)ms52_783104a));
  1492. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms262_8130));
  1493. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  1494. /*]*/
  1495. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_22032));
  1496. X52c_type_for_result_in(_et,((T0*)ms52_3073536));
  1497. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_114205));
  1498. /*[IF*/
  1499. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  1500. r262gc_info_nb_in(C,((T0*)ms52_3073536));
  1501. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_620));
  1502. }
  1503. /*FI]*/
  1504. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_9174));
  1505. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1506. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_40568));
  1507. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1508. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_4656));
  1509. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1510. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_30404));
  1511. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1512. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_47136));
  1513. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1514. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_37550));
  1515. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1516. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_114080));
  1517. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1518. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_8216a));
  1519. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1520. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_1208610));
  1521. r2append_in(_rcid,((T0*)ms52_3073536));
  1522. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_39340));
  1523. r2append_in(_rcid,((T0*)ms52_3073536));
  1524. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_7272));
  1525. r262gc_na_env_in(C,((T0*)ms52_3073536));
  1526. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms262_5193));
  1527. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  1528. }
  1529.  
  1530.  
  1531. T0* r145c_variable_name(T145* C){
  1532. T0* R=NULL;
  1533. T0* _bf=NULL;
  1534. _bf=/*SSWA2*//*X334base_feature*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*12*/)))->_base_feature/*24*/);
  1535. R=r363o_result(_bf);
  1536. return R;
  1537. }
  1538.  
  1539.  
  1540. T0* r145add_comment(T145* C,T0* a1){
  1541. T0* R=NULL;
  1542. /*[IF*/
  1543. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  1544. R=((T0*)(C));
  1545. }
  1546. else{
  1547. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  1548. *n=M229;
  1549. r229make(n,(T0*)C,a1);
  1550. R=((T0*)n);
  1551. }
  1552. }
  1553. /*FI]*/
  1554. return R;
  1555. }
  1556.  
  1557.  
  1558. void r145mapping_c_target(T145* C,T0* a1){
  1559. T0* _rt=NULL;
  1560. T6 _flag=0;
  1561. _flag=r325call_invariant_start(a1);
  1562. _rt=X52run_type(r145result_type(C));
  1563. /*[IF*/
  1564. if(X52is_reference(_rt)){
  1565. /*[IF*/
  1566. if(X52is_reference(a1)){
  1567. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_492));
  1568. /*]*/
  1569. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(a1));
  1570. /*]*/
  1571. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_166));
  1572. /*]*/
  1573. /*[IRF3.6compile_to_c*/{T145* C1=C;
  1574. /*[IRF3.6c_put_o_result*/{T0* c1=(/*RF2*/(C1)->_run_feature/*12*/);
  1575. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)c1))->_base_feature/*24*/)));
  1576. /*]*/
  1577. }/*]*/
  1578. }/*]*/
  1579. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1580. T3 b1=((T3)'\51');
  1581. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1582. }/*]*/
  1583. /*]*/
  1584. }
  1585. else{
  1586. /*[IRF3.6compile_to_c*/{T145* C1=C;
  1587. /*[IRF3.6c_put_o_result*/{T0* c1=(/*RF2*/(C1)->_run_feature/*12*/);
  1588. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)c1))->_base_feature/*24*/)));
  1589. /*]*/
  1590. }/*]*/
  1591. }/*]*/
  1592. }
  1593. /*FI]*/
  1594. }
  1595. else{
  1596. /*[IF*/
  1597. if(X52is_reference(a1)){
  1598. /*[IRF3.6compile_to_c*/{T145* C1=C;
  1599. /*[IRF3.6c_put_o_result*/{T0* c1=(/*RF2*/(C1)->_run_feature/*12*/);
  1600. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)c1))->_base_feature/*24*/)));
  1601. /*]*/
  1602. }/*]*/
  1603. }/*]*/
  1604. }
  1605. else{
  1606. /*[IF*/
  1607. if(X52need_c_struct(_rt)){
  1608. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1609. T3 b1=((T3)'\46');
  1610. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1611. }/*]*/
  1612. /*]*/
  1613. }
  1614. /*FI]*/
  1615. /*[IRF3.6compile_to_c*/{T145* C1=C;
  1616. /*[IRF3.6c_put_o_result*/{T0* c1=(/*RF2*/(C1)->_run_feature/*12*/);
  1617. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)c1))->_base_feature/*24*/)));
  1618. /*]*/
  1619. }/*]*/
  1620. }/*]*/
  1621. }
  1622. /*FI]*/
  1623. }
  1624. /*FI]*/
  1625. /*[IF*/
  1626. if(_flag){
  1627. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  1628. T3 b1=((T3)'\51');
  1629. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1630. }/*]*/
  1631. /*]*/
  1632. }
  1633. /*FI]*/
  1634. }
  1635.  
  1636.  
  1637. T0* r145to_runnable(T145* C,T0* a1){
  1638. T0* R=NULL;
  1639. T0* _rt2=NULL;
  1640. T0* _rt1=NULL;
  1641. T0* _rf=NULL;
  1642. R=((T0*)(C));
  1643. _rf=r49top_rf((T49*)(oBC13small_eiffel));
  1644. /*[IF*/
  1645. if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
  1646. (/*SFN*/C->_run_feature)=_rf;
  1647. }
  1648. else{
  1649. _rt1=X52run_type(X334result_type(_rf));
  1650. _rt2=X52run_type(X334result_type((/*RF2*/(C)->_run_feature/*12*/)));
  1651. /*[IF*/
  1652. if((X52run_time_mark(_rt1))!=((void*)(X52run_time_mark(_rt2)))){
  1653. {T68 se_tmp0;
  1654. r66add_position((*(se_tmp0=X52start_position(_rt1),&se_tmp0)));
  1655. }
  1656. {T68 se_tmp0;
  1657. r66add_position((*(se_tmp0=X52start_position(_rt2),&se_tmp0)));
  1658. }
  1659. X334fe_vffd7((/*RF2*/(C)->_run_feature/*12*/));
  1660. }
  1661. /*FI]*/
  1662. }
  1663. /*FI]*/
  1664. return R;
  1665. }
  1666.  
  1667.  
  1668. T2 r145to_integer(T145* C){
  1669. T2 R=0;
  1670. r145error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
  1671. return R;
  1672. }
  1673.  
  1674.  
  1675. void r145error(T68 a1,T0* a2){
  1676. r66add_position(a1);
  1677. /*[IRF3.6append*/{T0* b1=a2;
  1678. r7append((T7*)(oBC66explanation),b1);
  1679. }/*]*/
  1680. r66print_as_error((T66*)(oBC13eh));
  1681. }
  1682.  
  1683.  
  1684. T0* r145result_type(T145* C){
  1685. T0* R=NULL;
  1686. R=X334result_type((/*RF2*/(C)->_run_feature/*12*/));
  1687. return R;
  1688. }
  1689.  
  1690.  
  1691. T0* r145static_result_base_class(void){
  1692. T0* R=NULL;
  1693. T0* _bcn=NULL;
  1694. T0* _rt=NULL;
  1695. T0* _e_feature=NULL;
  1696. T0* _rf=NULL;
  1697. _rf=r49top_rf((T49*)(oBC13small_eiffel));
  1698. _e_feature=/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)_rf))->_base_feature/*24*/);
  1699. _rt=X90result_type(_e_feature);
  1700. _bcn=X52static_base_class_name(_rt);
  1701. /*[IF*/
  1702. if((_bcn)!=((void*)(NULL))){
  1703. R=r61base_class(((T61*)_bcn));
  1704. }
  1705. /*FI]*/
  1706. return R;
  1707. }
  1708.  
  1709.  
  1710. T6 r145stupid_switch(T145* C,T0* a1){
  1711. T6 R=0;
  1712. /*[IF*/
  1713. if(r49stupid_switch(r145result_type(C),a1)){
  1714. R=1;
  1715. }
  1716. /*FI]*/
  1717. return R;
  1718. }
  1719.  
  1720.  
  1721. void r145mapping_c_arg(T145* C,T0* a1){
  1722. T0* _rt=NULL;
  1723. _rt=X52run_type(r145result_type(C));
  1724. /*[IF*/
  1725. if(X52is_reference(_rt)){
  1726. /*[IF*/
  1727. if(X52is_reference(a1)){
  1728. /*[IRF3.6compile_to_c*/{T145* C1=C;
  1729. /*[IRF3.6c_put_o_result*/{T0* c1=(/*RF2*/(C1)->_run_feature/*12*/);
  1730. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)c1))->_base_feature/*24*/)));
  1731. /*]*/
  1732. }/*]*/
  1733. }/*]*/
  1734. }
  1735. else{
  1736. /*[IRF3.6compile_to_c*/{T145* C1=C;
  1737. /*[IRF3.6c_put_o_result*/{T0* c1=(/*RF2*/(C1)->_run_feature/*12*/);
  1738. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)c1))->_base_feature/*24*/)));
  1739. /*]*/
  1740. }/*]*/
  1741. }/*]*/
  1742. }
  1743. /*FI]*/
  1744. }
  1745. else{
  1746. /*[IF*/
  1747. if(X52is_reference(a1)){
  1748. /*[IRF3.6compile_to_c*/{T145* C1=C;
  1749. /*[IRF3.6c_put_o_result*/{T0* c1=(/*RF2*/(C1)->_run_feature/*12*/);
  1750. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)c1))->_base_feature/*24*/)));
  1751. /*]*/
  1752. }/*]*/
  1753. }/*]*/
  1754. }
  1755. else{
  1756. /*[IF*/
  1757. if(X52need_c_struct(_rt)){
  1758. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1759. T3 b1=((T3)'\46');
  1760. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1761. }/*]*/
  1762. /*]*/
  1763. }
  1764. /*FI]*/
  1765. /*[IRF3.6compile_to_c*/{T145* C1=C;
  1766. /*[IRF3.6c_put_o_result*/{T0* c1=(/*RF2*/(C1)->_run_feature/*12*/);
  1767. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)c1))->_base_feature/*24*/)));
  1768. /*]*/
  1769. }/*]*/
  1770. }/*]*/
  1771. }
  1772. /*FI]*/
  1773. }
  1774. /*FI]*/
  1775. }
  1776.  
  1777.  
  1778. void r321add_last(T321* C,T0* a1){
  1779. /*[IF*/
  1780. if(((/*RF2*/(C)->_list/*4*/))==((void*)(NULL))){
  1781. {T141*n=((T141*)malloc(sizeof(*n))/*16*/);
  1782. *n=M141;
  1783. r141with_capacity(n,4);
  1784. (/*SFN*/C->_list)=((T0*)n);
  1785. }
  1786. }
  1787. /*FI]*/
  1788. X141add_last((/*RF2*/(C)->_list/*4*/),a1);
  1789. }
  1790.  
  1791.  
  1792. T2 r395id(T395* C){
  1793. T2 R=0;
  1794. R=X52id((/*RF2*/(C)->_current_type/*8*/));
  1795. return R;
  1796. }
  1797.  
  1798.  
  1799. void r395address_of_c_mapping_wrapper(T395* C){
  1800. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  1801. /*]*/
  1802. r395address_of_wrapper_name_in(C,oBC334c_code);
  1803. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  1804. /*]*/
  1805. }
  1806.  
  1807.  
  1808. void r395fall_down(T395* C){
  1809. T0* _rf=NULL;
  1810. T0* _sub_name=NULL;
  1811. T0* _sub_bc=NULL;
  1812. T0* _current_bc=NULL;
  1813. T0* _sub_rc=NULL;
  1814. T0* _current_rc=NULL;
  1815. T2 _i=0;
  1816. T0* _running=NULL;
  1817. _current_rc=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  1818. _running=(/*RF2*/(((T50*)_current_rc))->_running/*9*/);
  1819. /*[IF*/
  1820. if((_running)!=((void*)(NULL))){
  1821. _current_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  1822. _i=(/*RF2*/(((T53*)_running))->_lower/*12*/);
  1823. while (!((_i)>((/*RF2*/(((T53*)_running))->_upper/*8*/))))
  1824. {
  1825. _sub_rc=r53item(((T53*)_running),_i);
  1826. /*[IF*/
  1827. if((_sub_rc)!=((void*)(_current_rc))){
  1828. _sub_bc=X52base_class((/*RF2*/(((T50*)_sub_rc))->_current_type/*0*/));
  1829. _sub_name=r51new_name_of(((T51*)_sub_bc),_current_bc,(/*RF2*/(C)->_name/*12*/));
  1830. _rf=r50get_feature(((T50*)_sub_rc),_sub_name);
  1831. }
  1832. /*FI]*/
  1833. _i=(_i)+(1);
  1834. }
  1835. }
  1836. /*FI]*/
  1837. }
  1838.  
  1839.  
  1840. void r395c_define(T395* C){
  1841. r363c_define_o_result((T0*)C);
  1842. /*[IF*/
  1843. if(!(r395is_pre_computable(C))){
  1844. r363c_define_o_flag((T0*)C);
  1845. r395define_prototype(C);
  1846. r363c_test_o_flag((T0*)C);
  1847. r395c_define_opening(C);
  1848. /*[IF*/
  1849. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  1850. r215compile_to_c((T215*)((/*RF2*/(C)->_routine_body/*44*/)));
  1851. }
  1852. /*FI]*/
  1853. r395c_define_closing(C);
  1854. r363c_return_o_result((T0*)C);
  1855. r395c_frame_descriptor(C);
  1856. }
  1857. /*FI]*/
  1858. }
  1859.  
  1860.  
  1861. T0* r395clients(T395* C){
  1862. T0* R=NULL;
  1863. T0* _bfbc=NULL;
  1864. T0* _bc=NULL;
  1865. /*[IF*/
  1866. if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
  1867. _bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  1868. _bfbc=(/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
  1869. /*[IF*/
  1870. if((_bc)==((void*)(_bfbc))){
  1871. R=(/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
  1872. }
  1873. else{
  1874. R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
  1875. }
  1876. /*FI]*/
  1877. (/*SFN*/C->_clients_memory)=R;
  1878. }
  1879. else{
  1880. R=(/*RF2*/(C)->_clients_memory/*4*/);
  1881. }
  1882. /*FI]*/
  1883. return R;
  1884. }
  1885.  
  1886.  
  1887. void r395put_c_name_tag(T395* C){
  1888. T0* _fn=NULL;
  1889. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1890. T3 b1=((T3)'\42');
  1891. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1892. }/*]*/
  1893. /*]*/
  1894. _fn=/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/;
  1895. /*[IF*/
  1896. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  1897. X82put_cpp_tag((/*RF2*/(C)->_name/*12*/));
  1898. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  1899. /*]*/
  1900. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1901. T3 b1=((T3)'\40');
  1902. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1903. }/*]*/
  1904. /*]*/
  1905. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1906. T3 b1=((T3)'\50');
  1907. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1908. }/*]*/
  1909. /*]*/
  1910. }
  1911. /*FI]*/
  1912. X82put_cpp_tag(_fn);
  1913. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string(_fn));
  1914. /*]*/
  1915. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_1108));
  1916. /*]*/
  1917. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T61*)(/*(IRF4.6base_class_name*/(/*RF2*/(((T51*)((/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/))))->_name/*18*/)/*)*/))->_to_string/*8*/));
  1918. /*]*/
  1919. /*[IF*/
  1920. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  1921. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1922. T3 b1=((T3)'\51');
  1923. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1924. }/*]*/
  1925. /*]*/
  1926. }
  1927. /*FI]*/
  1928. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1929. T3 b1=((T3)'\42');
  1930. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1931. }/*]*/
  1932. /*]*/
  1933. }
  1934.  
  1935.  
  1936. void r395std_compute_use_current(T395* C){
  1937. /*[IF*/
  1938. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  1939. /*[IF*/
  1940. if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
  1941. /*[IF*/
  1942. if(r376use_current((T376*)((/*RF2*/(C)->_require_assertion/*36*/)))){
  1943. (/*SFN*/C->_use_current_state)=22;
  1944. }
  1945. /*FI]*/
  1946. }
  1947. /*FI]*/
  1948. }
  1949. /*FI]*/
  1950. /*[IF*/
  1951. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  1952. /*[IF*/
  1953. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  1954. /*[IF*/
  1955. if(r215use_current((T215*)((/*RF2*/(C)->_routine_body/*44*/)))){
  1956. (/*SFN*/C->_use_current_state)=22;
  1957. }
  1958. /*FI]*/
  1959. }
  1960. /*FI]*/
  1961. }
  1962. /*FI]*/
  1963. /*[IF*/
  1964. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  1965. /*[IF*/
  1966. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  1967. /*[IF*/
  1968. if(r215use_current((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)))){
  1969. (/*SFN*/C->_use_current_state)=22;
  1970. }
  1971. /*FI]*/
  1972. }
  1973. /*FI]*/
  1974. }
  1975. /*FI]*/
  1976. /*[IF*/
  1977. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  1978. /*[IF*/
  1979. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  1980. /*[IF*/
  1981. if(r214use_current((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)))){
  1982. (/*SFN*/C->_use_current_state)=22;
  1983. }
  1984. /*FI]*/
  1985. }
  1986. /*FI]*/
  1987. }
  1988. /*FI]*/
  1989. /*[IF*/
  1990. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  1991. (/*SFN*/C->_use_current_state)=21;
  1992. }
  1993. /*FI]*/
  1994. }
  1995.  
  1996.  
  1997. void r395address_of_c_define(T395* C,T0* a1){
  1998. /*[IF*/
  1999. if(r47boost((T47*)(oBC13run_control))){
  2000. /*[IF*/
  2001. if(r395use_current(C)){
  2002. }
  2003. else{
  2004. r395address_of_c_define_wrapper(C,a1);
  2005. }
  2006. /*FI]*/
  2007. }
  2008. else{
  2009. r395address_of_c_define_wrapper(C,a1);
  2010. }
  2011. /*FI]*/
  2012. }
  2013.  
  2014.  
  2015. T0* r395run_ensure(T395* C){
  2016. T0* R=NULL;
  2017. R=r51run_ensure((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  2018. return R;
  2019. }
  2020.  
  2021.  
  2022. void r395default_mapping_function(T395* C){
  2023. T6 _tcbd=0;
  2024. T6 _uc=0;
  2025. T6 _no_check=0;
  2026. _no_check=r47no_check((T47*)(oBC13run_control));
  2027. _uc=r395use_current(C);
  2028. /*[IF*/
  2029. if(!(_uc)){
  2030. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  2031. /*[IF*/
  2032. if(_tcbd){
  2033. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2034. T3 b1=((T3)'\54');
  2035. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2036. }/*]*/
  2037. /*]*/
  2038. }
  2039. /*FI]*/
  2040. }
  2041. /*FI]*/
  2042. r395mapping_name(C);
  2043. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2044. T3 b1=((T3)'\50');
  2045. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2046. }/*]*/
  2047. /*]*/
  2048. /*[IF*/
  2049. if(_no_check){
  2050. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_759));
  2051. /*]*/
  2052. }
  2053. /*FI]*/
  2054. /*[IF*/
  2055. if(_uc){
  2056. /*[IF*/
  2057. if(_no_check){
  2058. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2059. T3 b1=((T3)'\54');
  2060. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2061. }/*]*/
  2062. /*]*/
  2063. }
  2064. /*FI]*/
  2065. r325put_target_as_target((T325*)(oBC13cpp));
  2066. }
  2067. /*FI]*/
  2068. /*[IF*/
  2069. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2070. /*[IF*/
  2071. if((_uc)||(_no_check)){
  2072. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2073. T3 b1=((T3)'\54');
  2074. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2075. }/*]*/
  2076. /*]*/
  2077. }
  2078. /*FI]*/
  2079. r325put_arguments((T325*)(oBC13cpp));
  2080. }
  2081. /*FI]*/
  2082. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2083. T3 b1=((T3)'\51');
  2084. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2085. }/*]*/
  2086. /*]*/
  2087. /*[IF*/
  2088. if((!(_uc))&&(_tcbd)){
  2089. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2090. T3 b1=((T3)'\51');
  2091. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2092. }/*]*/
  2093. /*]*/
  2094. }
  2095. /*FI]*/
  2096. }
  2097.  
  2098.  
  2099. void r395address_of_wrapper_name_in(T395* C,T0* a1){
  2100. r7extend(((T7*)a1),((T3)'W'));
  2101. r2append_in(r395id(C),a1);
  2102. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  2103. }
  2104.  
  2105.  
  2106. void r395make(T395* C,T0* a1,T0* a2,T0* a3){
  2107. (/*SFN*/C->_current_type)=a1;
  2108. (/*SFN*/C->_name)=a2;
  2109. (/*SFN*/C->_base_feature)=a3;
  2110. r50add_rf((T50*)(r395run_class(C)),(T0*)C,X82to_key(a2));
  2111. r49incr_magic_count((T49*)(oBC13small_eiffel));
  2112. (/*SFN*/C->_use_current_state)=23;
  2113. (/*SFN*/C->_stupid_switch_state)=23;
  2114. r49push((T49*)(oBC13small_eiffel),(T0*)C);
  2115. r395initialize(C);
  2116. r49pop((T49*)(oBC13small_eiffel));
  2117. }
  2118.  
  2119.  
  2120. void r395c_assertion_flag(T395* C){
  2121. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2122. /*]*/
  2123. r395c_frame_descriptor_name_in(C,oBC334c_code);
  2124. r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
  2125. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2126. /*]*/
  2127. }
  2128.  
  2129.  
  2130. void r395c_define_opening(T395* C){
  2131. T0* _oresult=NULL;
  2132. T6 _ensure_check=0;
  2133. T6 _no_check=0;
  2134. T0* _t=NULL;
  2135. _no_check=r47no_check((T47*)(oBC13run_control));
  2136. _ensure_check=r47ensure_check((T47*)(oBC13run_control));
  2137. /*[IF*/
  2138. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2139. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_21346));
  2140. /*]*/
  2141. }
  2142. /*FI]*/
  2143. /*[IF*/
  2144. {/*AT*//*[IF*/
  2145. if(_no_check){
  2146. _t=X52run_type((/*RF2*/(C)->_result_type/*32*/));
  2147. r7append((T7*)(oBC13c_frame_descriptor_locals),((T0*)ms334_7344));
  2148. _oresult=r363o_result((/*RF2*/(C)->_base_feature/*24*/));
  2149. r7append((T7*)(oBC13c_frame_descriptor_locals),_oresult);
  2150. r7extend((T7*)(oBC13c_frame_descriptor_locals),((T3)'\54'));
  2151. r203increment((T203*)(oBC13c_frame_descriptor_local_count));
  2152. r7append((T7*)(oBC13c_frame_descriptor_format),((T0*)ms15_7314));
  2153. X52c_frame_descriptor(_t);
  2154. }
  2155. /*FI]*/
  2156. }
  2157. /*FI]*/
  2158. /*[IF*/
  2159. if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
  2160. r169c_declare((T169*)((/*RF2*/(C)->_local_vars/*40*/)));
  2161. }
  2162. /*FI]*/
  2163. /*[IF*/
  2164. if(_ensure_check){
  2165. /*[IF*/
  2166. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2167. r214c_declare_for_old((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
  2168. }
  2169. /*FI]*/
  2170. }
  2171. /*FI]*/
  2172. /*[IF*/
  2173. if(_no_check){
  2174. /*[IF*/
  2175. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  2176. r7copy((T7*)(oBC334c_code),((T0*)ms334_21567));
  2177. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  2178. /*]*/
  2179. r7extend((T7*)(oBC334c_code),((T3)'\135'));
  2180. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  2181. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2182. /*]*/
  2183. }
  2184. /*FI]*/
  2185. r395c_initialize_ds_one_by_one(C);
  2186. /*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
  2187. T2 _j=0;
  2188. T2 _i=0;
  2189. _j=1;
  2190. while (!(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))==(_i)))
  2191. {
  2192. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_8120));
  2193. /*]*/
  2194. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_i);
  2195. /*]*/
  2196. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_308));
  2197. /*]*/
  2198. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  2199. while (!((_c)==(((T3)'\54'))))
  2200. {
  2201. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2202. T3 b1=_c;
  2203. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2204. }/*]*/
  2205. /*]*/
  2206. _j=(_j)+(1);
  2207. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  2208. }
  2209. _j=(_j)+(1);
  2210. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  2211. /*]*/
  2212. _i=(_i)+(1);
  2213. }
  2214. }/*]*/
  2215. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520a));
  2216. /*]*/
  2217. }
  2218. /*FI]*/
  2219. /*[IF*/
  2220. if(_ensure_check){
  2221. /*[IF*/
  2222. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2223. r214compile_to_c_old((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
  2224. }
  2225. /*FI]*/
  2226. }
  2227. /*FI]*/
  2228. /*[IF*/
  2229. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2230. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_23008));
  2231. /*]*/
  2232. r215compile_to_c((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)));
  2233. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_47752));
  2234. /*]*/
  2235. }
  2236. /*FI]*/
  2237. /*[IF*/
  2238. if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
  2239. r169initialize_expanded((T169*)((/*RF2*/(C)->_local_vars/*40*/)));
  2240. }
  2241. /*FI]*/
  2242. /*[IF*/
  2243. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2244. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_7436));
  2245. /*]*/
  2246. }
  2247. /*FI]*/
  2248. /*[IF*/
  2249. if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
  2250. r376compile_to_c((T376*)((/*RF2*/(C)->_require_assertion/*36*/)));
  2251. }
  2252. /*FI]*/
  2253. /*[IF*/
  2254. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2255. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_57680));
  2256. /*]*/
  2257. /*[IF*/
  2258. if(_no_check){
  2259. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11988));
  2260. /*]*/
  2261. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520));
  2262. /*]*/
  2263. }
  2264. /*FI]*/
  2265. }
  2266. /*FI]*/
  2267. }
  2268.  
  2269.  
  2270. void r395c_define_closing(T395* C){
  2271. /*[IF*/
  2272. if(r47ensure_check((T47*)(oBC13run_control))){
  2273. /*[IF*/
  2274. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2275. r214compile_to_c((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
  2276. }
  2277. /*FI]*/
  2278. }
  2279. /*FI]*/
  2280. /*[IF*/
  2281. if(r395use_current(C)){
  2282. /*[IF*/
  2283. if((X82to_string((/*RF2*/(C)->_name/*12*/)))!=((void*)(((T0*)ms15_8750)))){
  2284. r325current_class_invariant((/*RF2*/(C)->_current_type/*8*/));
  2285. }
  2286. /*FI]*/
  2287. }
  2288. /*FI]*/
  2289. /*[IF*/
  2290. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2291. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_25380));
  2292. /*]*/
  2293. }
  2294. /*FI]*/
  2295. /*[IF*/
  2296. if(r47no_check((T47*)(oBC13run_control))){
  2297. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_19400));
  2298. /*]*/
  2299. }
  2300. /*FI]*/
  2301. }
  2302.  
  2303.  
  2304. void r395initialize(T395* C){
  2305. (/*SFN*/C->_result_type)=(/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_result_type/*56*/);
  2306. (/*SFN*/C->_arguments)=(/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_arguments/*20*/);
  2307. /*[IF*/
  2308. if(X52is_anchored((/*RF2*/(C)->_result_type/*32*/))){
  2309. r395fe_vffd7(C);
  2310. }
  2311.  else if(X52is_formal_generic((/*RF2*/(C)->_result_type/*32*/))){
  2312. {T68 se_tmp0;
  2313. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*32*/)),&se_tmp0)));
  2314. }
  2315. r395fatal_error(((T0*)ms395_320658));
  2316. }
  2317. /*FI]*/
  2318. (/*SFN*/C->_result_type)=X52to_runnable((/*RF2*/(C)->_result_type/*32*/),(/*RF2*/(C)->_current_type/*8*/));
  2319. /*[IF*/
  2320. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2321. /*[IF*/
  2322. if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
  2323. {T178*n=((T178*)malloc(sizeof(*n))/*12*/);
  2324. *n=M178;
  2325. r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  2326. (/*SFN*/C->_arguments)=((T0*)n);
  2327. }
  2328. }
  2329. /*FI]*/
  2330. }
  2331. /*FI]*/
  2332. (/*SFN*/C->_local_vars)=(/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_local_vars/*40*/);
  2333. /*[IF*/
  2334. if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
  2335. (/*SFN*/C->_local_vars)=r169to_runnable((T169*)((/*RF2*/(C)->_local_vars/*40*/)),(/*RF2*/(C)->_current_type/*8*/));
  2336. }
  2337. /*FI]*/
  2338. (/*SFN*/C->_routine_body)=(/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_routine_body/*44*/);
  2339. /*[IF*/
  2340. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  2341. (/*SFN*/C->_routine_body)=r215to_runnable((T215*)((/*RF2*/(C)->_routine_body/*44*/)),(/*RF2*/(C)->_current_type/*8*/));
  2342. }
  2343. /*FI]*/
  2344. /*[IF*/
  2345. if(r47require_check((T47*)(oBC13run_control))){
  2346. (/*SFN*/C->_require_assertion)=r395run_require(C);
  2347. }
  2348. /*FI]*/
  2349. /*[IF*/
  2350. if(r47ensure_check((T47*)(oBC13run_control))){
  2351. (/*SFN*/C->_ensure_assertion)=r395run_ensure(C);
  2352. }
  2353. /*FI]*/
  2354. (/*SFN*/C->_rescue_compound)=(/*RF2*/((T307*)((/*RF2*/(C)->_base_feature/*24*/)))->_rescue_compound/*48*/);
  2355. /*[IF*/
  2356. if(((/*RF2*/(C)->_rescue_compound/*48*/))==((void*)(NULL))){
  2357. (/*SFN*/C->_rescue_compound)=r395default_rescue_compound(C);
  2358. }
  2359. /*FI]*/
  2360. /*[IF*/
  2361. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2362. /*[IRF3.3set_used*/((((T380*)((T380*)(oBC13exceptions_handler))))->_used)=(1);
  2363. /*]*/
  2364. (/*SFN*/C->_rescue_compound)=r215to_runnable((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)),(/*RF2*/(C)->_current_type/*8*/));
  2365. }
  2366. /*FI]*/
  2367. r363register_function((T0*)C);
  2368. }
  2369.  
  2370.  
  2371. void r395mapping_c(T395* C){
  2372. /*[IF*/
  2373. if(r395is_pre_computable(C)){
  2374. /*[IRF3.6c_put_o_result*/{T0* b1=(T0*)C;
  2375. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)b1))->_base_feature/*24*/)));
  2376. /*]*/
  2377. }/*]*/
  2378. }
  2379. else{
  2380. r395default_mapping_function(C);
  2381. }
  2382. /*FI]*/
  2383. }
  2384.  
  2385.  
  2386. void r395address_of_c_define_wrapper(T395* C,T0* a1){
  2387. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2388. /*]*/
  2389. /*[IF*/
  2390. if(((/*RF2*/(C)->_result_type/*32*/))==((void*)(NULL))){
  2391. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  2392. }
  2393. else{
  2394. X52c_type_for_external_in((/*RF2*/(C)->_result_type/*32*/),oBC334c_code);
  2395. }
  2396. /*FI]*/
  2397. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  2398. r395address_of_wrapper_name_in(C,oBC334c_code);
  2399. r7extend((T7*)(oBC334c_code),((T3)'\50'));
  2400. X52c_type_for_external_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
  2401. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  2402. r7extend((T7*)(oBC334c_code),((T3)'C'));
  2403. /*[IF*/
  2404. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2405. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2406. r178external_prototype_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
  2407. }
  2408. /*FI]*/
  2409. r7extend((T7*)(oBC334c_code),((T3)'\51'));
  2410. r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
  2411. r338define_body_of((T0*)C);
  2412. }
  2413.  
  2414.  
  2415. void r395std_compute_stupid_switch(T395* C,T0* a1){
  2416. T0* _rt=NULL;
  2417. _rt=(/*RF2*/(C)->_result_type/*32*/);
  2418. /*[IF*/
  2419. if(((_rt)!=((void*)(NULL)))&&(X52is_user_expanded(_rt))){
  2420. (/*SFN*/C->_stupid_switch_state)=21;
  2421. }
  2422. /*FI]*/
  2423. /*[IF*/
  2424. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  2425. /*[IF*/
  2426. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  2427. /*[IF*/
  2428. if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_routine_body/*44*/)),a1))){
  2429. (/*SFN*/C->_stupid_switch_state)=21;
  2430. }
  2431. /*FI]*/
  2432. }
  2433. /*FI]*/
  2434. }
  2435. /*FI]*/
  2436. /*[IF*/
  2437. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  2438. /*[IF*/
  2439. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2440. /*[IF*/
  2441. if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)),a1))){
  2442. (/*SFN*/C->_stupid_switch_state)=21;
  2443. }
  2444. /*FI]*/
  2445. }
  2446. /*FI]*/
  2447. }
  2448. /*FI]*/
  2449. /*[IF*/
  2450. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  2451. (/*SFN*/C->_stupid_switch_state)=22;
  2452. }
  2453. /*FI]*/
  2454. }
  2455.  
  2456.  
  2457. void r395routine_afd_check(T395* C){
  2458. /*[IF*/
  2459. if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
  2460. r376afd_check((T376*)((/*RF2*/(C)->_require_assertion/*36*/)));
  2461. }
  2462. /*FI]*/
  2463. /*[IF*/
  2464. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  2465. r215afd_check((T215*)((/*RF2*/(C)->_routine_body/*44*/)));
  2466. }
  2467. /*FI]*/
  2468. /*[IF*/
  2469. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2470. r215afd_check((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)));
  2471. }
  2472. /*FI]*/
  2473. /*[IF*/
  2474. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2475. r214afd_check((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
  2476. }
  2477. /*FI]*/
  2478. }
  2479.  
  2480.  
  2481. T0* r395run_require(T395* C){
  2482. T0* R=NULL;
  2483. R=r51run_require((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  2484. return R;
  2485. }
  2486.  
  2487.  
  2488. void r395mapping_name(T395* C){
  2489. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2490. /*]*/
  2491. r7extend((T7*)(oBC334c_code),((T3)'r'));
  2492. r2append_in(r395id(C),oBC334c_code);
  2493. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  2494. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2495. /*]*/
  2496. }
  2497.  
  2498.  
  2499. void r395c_initialize_ds_one_by_one(T395* C){
  2500. r7copy((T7*)(oBC334c_code),((T0*)ms334_36950));
  2501. r395c_frame_descriptor_name_in(C,oBC334c_code);
  2502. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  2503. /*[IF*/
  2504. if(r395use_current(C)){
  2505. r7append((T7*)(oBC334c_code),((T0*)ms334_18175));
  2506. }
  2507. else{
  2508. r7append((T7*)(oBC334c_code),((T0*)ms334_10999));
  2509. }
  2510. /*FI]*/
  2511. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2512. /*]*/
  2513. {T68 se_tmp0;
  2514. r325put_position_in_ds(/*(IRF4.6start_position*/(*(se_tmp0=r307start_position(((T307*)((/*RF2*/(C)->_base_feature/*24*/)))),&se_tmp0))/*)*/);
  2515. }
  2516. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11466));
  2517. /*]*/
  2518. /*[IF*/
  2519. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  2520. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11880));
  2521. /*]*/
  2522. }
  2523. /*FI]*/
  2524. }
  2525.  
  2526.  
  2527. T6 r395use_current(T395* C){
  2528. T6 R=0;
  2529. {int z1=(/*RF2*/(C)->_use_current_state/*16*/);
  2530.  
  2531. if((22==z1)){
  2532. R=1;
  2533. }
  2534.  else 
  2535. if((21==z1)){
  2536. }
  2537.  else 
  2538. if((23==z1)){
  2539. (/*SFN*/C->_use_current_state)=24;
  2540. /*[IRF3.4compute_use_current*/r395std_compute_use_current(C);
  2541. /*]*/
  2542. R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
  2543. }
  2544.  else {R=1;
  2545. }}
  2546. return R;
  2547. }
  2548.  
  2549.  
  2550. T6 r395is_exported_in(T395* C,T0* a1){
  2551. T6 R=0;
  2552. R=r99gives_permission_to((T99*)(r395clients(C)),a1);
  2553. return R;
  2554. }
  2555.  
  2556.  
  2557. T0* r395default_rescue_compound(T395* C){
  2558. T0* R=NULL;
  2559. R=r50get_default_rescue((T50*)(r395run_class(C)),(/*RF2*/(C)->_name/*12*/));
  2560. return R;
  2561. }
  2562.  
  2563.  
  2564. T0* r395run_class(T395* C){
  2565. T0* R=NULL;
  2566. R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  2567. return R;
  2568. }
  2569.  
  2570.  
  2571. void r395fatal_error(T0* a1){
  2572. /*[IRF3.6append*/{T0* b1=a1;
  2573. r7append((T7*)(oBC66explanation),b1);
  2574. }/*]*/
  2575. r66print_as_fatal_error((T66*)(oBC13eh));
  2576. }
  2577.  
  2578.  
  2579. T0* r395stupid_switch(T395* C,T0* a1){
  2580. T0* R=NULL;
  2581. {int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
  2582.  
  2583. if((22==z1)){
  2584. R=((T0*)ms395_5509);
  2585. }
  2586.  else 
  2587. if((21==z1)){
  2588. }
  2589.  else 
  2590. if((23==z1)){
  2591. (/*SFN*/C->_stupid_switch_state)=24;
  2592. /*[IRF3.6compute_stupid_switch*/{T395* C1=C;
  2593. T0* b1=a1;
  2594. r395std_compute_stupid_switch(C1,b1);
  2595. }/*]*/
  2596. /*[IF*/
  2597. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
  2598. R=((T0*)ms395_5509);
  2599. }
  2600. /*FI]*/
  2601. }
  2602.  else {}}
  2603. return R;
  2604. }
  2605.  
  2606.  
  2607. void r395define_prototype(T395* C){
  2608. T6 _no_check=0;
  2609. T2 _mem_id=0;
  2610. _no_check=r47no_check((T47*)(oBC13run_control));
  2611. /*[IF*/
  2612. if(r47no_check((T47*)(oBC13run_control))){
  2613. /*[IRF3.3reset*/((((T203*)((T203*)(oBC13c_frame_descriptor_local_count))))->_value)=(0);
  2614. /*]*/
  2615. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_format))))->_count)=(0);
  2616. /*]*/
  2617. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\42'));
  2618. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_locals))))->_count)=(0);
  2619. /*]*/
  2620. }
  2621. /*FI]*/
  2622. _mem_id=r395id(C);
  2623. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2624. /*]*/
  2625. /*[IF*/
  2626. if(((/*RF2*/(C)->_result_type/*32*/))==((void*)(NULL))){
  2627. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  2628. }
  2629. else{
  2630. X52c_type_for_result_in(X52run_type((/*RF2*/(C)->_result_type/*32*/)),oBC334c_code);
  2631. }
  2632. /*FI]*/
  2633. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  2634. r7extend((T7*)(oBC334c_code),((T3)'r'));
  2635. r2append_in(_mem_id,oBC334c_code);
  2636. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  2637. r7extend((T7*)(oBC334c_code),((T3)'\50'));
  2638. /*[IF*/
  2639. if(_no_check){
  2640. r7append((T7*)(oBC334c_code),((T0*)ms334_56160));
  2641. /*[IF*/
  2642. if((r395use_current(C))||(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL)))){
  2643. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2644. }
  2645. /*FI]*/
  2646. }
  2647. /*FI]*/
  2648. /*[IF*/
  2649. if(r395use_current(C)){
  2650. X52c_type_for_target_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
  2651. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  2652. r7extend((T7*)(oBC334c_code),((T3)'C'));
  2653. X52c_frame_descriptor((/*RF2*/(C)->_current_type/*8*/));
  2654. /*[IF*/
  2655. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2656. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2657. }
  2658. /*FI]*/
  2659. }
  2660. /*FI]*/
  2661. /*[IF*/
  2662. if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
  2663. /*[IF*/
  2664. if(_no_check){
  2665. }
  2666.  else if(!(r395use_current(C))){
  2667. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  2668. }
  2669. /*FI]*/
  2670. }
  2671. else{
  2672. r178compile_to_c_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
  2673. }
  2674. /*FI]*/
  2675. r7extend((T7*)(oBC334c_code),((T3)'\51'));
  2676. r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
  2677. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  2678. /*]*/
  2679. }
  2680.  
  2681.  
  2682. void r395c_frame_descriptor(T395* C){
  2683. /*[IF*/
  2684. if(r47no_check((T47*)(oBC13run_control))){
  2685. r7copy((T7*)(oBC334c_code),((T0*)ms334_23340));
  2686. r395c_frame_descriptor_name_in(C,oBC334c_code);
  2687. r325put_extern7((T325*)(oBC13cpp),oBC334c_code);
  2688. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2689. T3 b1=((T3)'\173');
  2690. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2691. }/*]*/
  2692. /*]*/
  2693. r395put_c_name_tag(C);
  2694. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2695. /*]*/
  2696. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2697. /*[IF*/
  2698. if(r395use_current(C)){
  2699. r7extend((T7*)(oBC334c_code),((T3)'1'));
  2700. }
  2701. else{
  2702. r7extend((T7*)(oBC334c_code),((T3)'0'));
  2703. }
  2704. /*FI]*/
  2705. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2706. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  2707. /*]*/
  2708. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2709. r7append((T7*)(oBC334c_code),oBC13c_frame_descriptor_format);
  2710. r7append((T7*)(oBC334c_code),((T0*)ms334_2226));
  2711. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2712. /*]*/
  2713. }
  2714. /*FI]*/
  2715. }
  2716.  
  2717.  
  2718. void r395address_of_c_mapping(T395* C){
  2719. /*[IF*/
  2720. if(r47boost((T47*)(oBC13run_control))){
  2721. /*[IF*/
  2722. if(r395use_current(C)){
  2723. r395mapping_name(C);
  2724. }
  2725. else{
  2726. r395address_of_c_mapping_wrapper(C);
  2727. }
  2728. /*FI]*/
  2729. }
  2730. else{
  2731. r395address_of_c_mapping_wrapper(C);
  2732. }
  2733. /*FI]*/
  2734. }
  2735.  
  2736.  
  2737. void r395fe_vffd7(T395* C){
  2738. {T68 se_tmp0;
  2739. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*32*/)),&se_tmp0)));
  2740. }
  2741. r395fatal_error(((T0*)ms334_203069));
  2742. }
  2743.  
  2744.  
  2745. T6 r395is_pre_computable(T395* C){
  2746. T6 R=0;
  2747. R=r363is_pre_computable((T0*)C);
  2748. return R;
  2749. }
  2750.  
  2751.  
  2752. void r395c_frame_descriptor_name_in(T395* C,T0* a1){
  2753. r7extend(((T7*)a1),((T3)'f'));
  2754. r2append_in(r395id(C),a1);
  2755. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  2756. }
  2757.  
  2758.  
  2759. T0* r209try_to_undefine_aux(T209* C,T0* a1,T0* a2){
  2760. T0* R=NULL;
  2761. {T68 se_tmp0;
  2762. r66add_position((*(se_tmp0=r209start_position(C),&se_tmp0)));
  2763. }
  2764. {T68 se_tmp0;
  2765. r209error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms200_98784));
  2766. }
  2767. r51fatal_undefine(((T51*)a2),a1);
  2768. return R;
  2769. }
  2770.  
  2771.  
  2772. T0* r209try_to_undefine(T209* C,T0* a1,T0* a2){
  2773. T0* R=NULL;
  2774. T0* _fn2=NULL;
  2775. {T68 se_tmp0;
  2776. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  2777. }
  2778. _fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
  2779. /*[IF*/
  2780. if((_fn2)!=((void*)(NULL))){
  2781. X82undefine_in(_fn2,a2);
  2782. }
  2783. /*FI]*/
  2784. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  2785. /*]*/
  2786. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  2787. /*]*/
  2788. /*]*/
  2789. R=r209try_to_undefine_aux(C,a1,a2);
  2790. /*[IF*/
  2791. if((R)!=((void*)(NULL))){
  2792. X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
  2793. r209merge_header_comments(C,R);
  2794. }
  2795. else{
  2796. r51fatal_undefine(((T51*)a2),a1);
  2797. }
  2798. /*FI]*/
  2799. return R;
  2800. }
  2801.  
  2802.  
  2803. void r209check_obsolete(T209* C,T68 a1){
  2804. /*[IF*/
  2805. /*AF*//*AE*/
  2806. /*FI]*/
  2807. }
  2808.  
  2809.  
  2810. T0* r209to_run_feature(T209* C,T0* a1,T0* a2){
  2811. T0* R=NULL;
  2812. T0* _rc=NULL;
  2813. _rc=X52run_class(a1);
  2814. R=r50at(((T50*)_rc),a2);
  2815. if(NULL!=(R)){
  2816. switch(((T0*)R)->id){
  2817. case 388:
  2818. break;
  2819. default:
  2820. R=NULL;
  2821. }
  2822. }/*[IF*/
  2823. if((R)==((void*)(NULL))){
  2824. {T388*n=((T388*)malloc(sizeof(*n))/*36*/);
  2825. *n=M388;
  2826. r388make(n,a1,a2,(T0*)C);
  2827. R=((T0*)n);
  2828. }
  2829. }
  2830. /*FI]*/
  2831. return R;
  2832. }
  2833.  
  2834.  
  2835. void r209error(T68 a1,T0* a2){
  2836. r66add_position(a1);
  2837. /*[IRF3.6append*/{T0* b1=a2;
  2838. r7append((T7*)(oBC66explanation),b1);
  2839. }/*]*/
  2840. r66print_as_error((T66*)(oBC13eh));
  2841. }
  2842.  
  2843.  
  2844. T6 r209is_not_mergeable_with(T209* C,T0* a1){
  2845. T6 R=0;
  2846. /*[IF*/
  2847. if(((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL))){
  2848. R=(X90result_type(a1))!=((void*)(NULL));
  2849. }
  2850. else{
  2851. R=(X90result_type(a1))==((void*)(NULL));
  2852. }
  2853. /*FI]*/
  2854. /*[IF*/
  2855. if(R){
  2856. /*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
  2857. r7append((T7*)(oBC66explanation),b1);
  2858. }/*]*/
  2859. }
  2860. else{
  2861. /*[IF*/
  2862. {/*AT*/R=(X90arguments(a1))!=((void*)(NULL));
  2863. }
  2864. /*FI]*/
  2865. /*[IF*/
  2866. if(R){
  2867. /*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
  2868. r7append((T7*)(oBC66explanation),b1);
  2869. }/*]*/
  2870. }
  2871.  else {/*AT*/}
  2872. /*FI]*/
  2873. }
  2874. /*FI]*/
  2875. r209merge_header_comments(C,a1);
  2876. return R;
  2877. }
  2878.  
  2879.  
  2880. void r209make(T209* C,T0* a1,T0* a2,T0* a3){
  2881. /*[IRF3.3make_e_feature*/((((T209*)(C)))->_names)=(a1);
  2882. /*]*/
  2883. (/*SFN*/C->_result_type)=a2;
  2884. (/*SFN*/C->_value_mem)=a3;
  2885. }
  2886.  
  2887.  
  2888. void r209add_into(T209* C,T0* a1){
  2889. T0* _fn=NULL;
  2890. T2 _i=0;
  2891. {T68 se_tmp0;
  2892. (/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
  2893. }
  2894. _i=1;
  2895. while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
  2896. {
  2897. _fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
  2898. /*[IF*/
  2899. if(r91has(((T91*)a1),X82to_key(_fn))){
  2900. _fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
  2901. {T68 se_tmp0;
  2902. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  2903. }
  2904. {T68 se_tmp0;
  2905. r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
  2906. }
  2907. /*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
  2908. r7append((T7*)(oBC66explanation),b1);
  2909. }/*]*/
  2910. /*[IRF3.6append*/{T0* b1=X82to_string(_fn);
  2911. r7append((T7*)(oBC66explanation),b1);
  2912. }/*]*/
  2913. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  2914. r7append((T7*)(oBC66explanation),b1);
  2915. }/*]*/
  2916. r66print_as_error((T66*)(oBC13eh));
  2917. }
  2918. else{
  2919. r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
  2920. }
  2921. /*FI]*/
  2922. _i=(_i)+(1);
  2923. }
  2924. }
  2925.  
  2926.  
  2927. T6 r209can_hide(T209* C,T0* a1,T0* a2){
  2928. T6 R=0;
  2929. /*[IF*/
  2930. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(X90result_type(a1)))){
  2931. /*[IF*/
  2932. if((((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
  2933. {T68 se_tmp0;
  2934. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  2935. }
  2936. {T68 se_tmp0;
  2937. r209error((*(se_tmp0=r209start_position(C),&se_tmp0)),((T0*)ms90_64152));
  2938. }
  2939. }
  2940. /*FI]*/
  2941. }
  2942. /*FI]*/
  2943. /*[IF*/
  2944. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X90arguments(a1)))){
  2945. /*[IF*/
  2946. {/*AT*/{T68 se_tmp0;
  2947. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  2948. }
  2949. {T68 se_tmp0;
  2950. r209error((*(se_tmp0=r209start_position(C),&se_tmp0)),((T0*)ms90_82612));
  2951. }
  2952. }
  2953. /*FI]*/
  2954. }
  2955. /*FI]*/
  2956. /*[IF*/
  2957. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  2958. /*[IF*/
  2959. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(NULL))){
  2960. /*[IF*/
  2961. if(!(X52is_a_in((/*RF2*/(C)->_result_type/*20*/),X90result_type(a1),a2))){
  2962. /*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
  2963. r7append((T7*)(oBC66explanation),b1);
  2964. }/*]*/
  2965. /*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
  2966. r7append((T7*)(oBC66explanation),b1);
  2967. }/*]*/
  2968. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  2969. r7append((T7*)(oBC66explanation),b1);
  2970. }/*]*/
  2971. r66print_as_error((T66*)(oBC13eh));
  2972. }
  2973. /*FI]*/
  2974. }
  2975. /*FI]*/
  2976. }
  2977. /*FI]*/
  2978. /*[IF*/
  2979. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  2980. /*[IF*/
  2981. /*AF*//*AE*/
  2982. /*FI]*/
  2983. }
  2984. /*FI]*/
  2985. R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
  2986. /*[IF*/
  2987. if(R){
  2988. r209merge_header_comments(C,a1);
  2989. }
  2990. /*FI]*/
  2991. return R;
  2992. }
  2993.  
  2994.  
  2995. void r209merge_header_comments(T209* C,T0* a1){
  2996. /*[IF*/
  2997. if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
  2998. /*[IF*/
  2999. if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
  3000. (/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
  3001. }
  3002.  else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  3003. X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
  3004. }
  3005. /*FI]*/
  3006. }
  3007. /*FI]*/
  3008. }
  3009.  
  3010.  
  3011. T68 r209start_position(T209* C){
  3012. T68 R={NULL,0};
  3013. {T68 se_tmp0;
  3014. R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
  3015. }
  3016. return R;
  3017. }
  3018.  
  3019.  
  3020. void r166compile_to_c_old(T166* C){
  3021. /*[IF*/
  3022. if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
  3023. /*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*20*/)));
  3024. }
  3025. /*FI]*/
  3026. }
  3027.  
  3028.  
  3029. T0* r166add_comment(T166* C,T0* a1){
  3030. T0* R=NULL;
  3031. /*[IF*/
  3032. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  3033. R=((T0*)(C));
  3034. }
  3035. else{
  3036. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  3037. *n=M229;
  3038. r229make(n,(T0*)C,a1);
  3039. R=((T0*)n);
  3040. }
  3041. }
  3042. /*FI]*/
  3043. return R;
  3044. }
  3045.  
  3046.  
  3047. void r166afd_check(T166* C){
  3048. /*[IF*/
  3049. if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
  3050. /*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*20*/)));
  3051. }
  3052. /*FI]*/
  3053. }
  3054.  
  3055.  
  3056. void r166c_declare_for_old(T166* C){
  3057. /*[IF*/
  3058. if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
  3059. /*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*20*/)));
  3060. }
  3061. /*FI]*/
  3062. }
  3063.  
  3064.  
  3065. void r166collect_c_tmp(T166* C){
  3066. /*[IF*/
  3067. if(((/*RF2*/(C)->_run_feature/*24*/))!=((void*)(NULL))){
  3068. r398collect_c_tmp((T398*)((/*RF2*/(C)->_run_feature/*24*/)));
  3069. }
  3070. /*FI]*/
  3071. /*[IF*/
  3072. if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
  3073. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*20*/)));
  3074. }
  3075. /*FI]*/
  3076. }
  3077.  
  3078.  
  3079. T0* r166to_runnable(T166* C,T0* a1){
  3080. T0* R=NULL;
  3081. T0* _pn=NULL;
  3082. T0* _super=NULL;
  3083. T0* _wrf=NULL;
  3084. /*[IF*/
  3085. if(((/*RF2*/(C)->_current_type/*16*/))==((void*)(NULL))){
  3086. (/*SFN*/C->_current_type)=a1;
  3087. R=((T0*)(C));
  3088. _wrf=r49top_rf((T49*)(oBC13small_eiffel));
  3089. /*[IF*/
  3090. if((X334result_type(_wrf))==((void*)(NULL))){
  3091. r66add_position((/*RF2*/(C)->_start_position/*4*/));
  3092. r166fatal_error(((T0*)ms166_366828));
  3093. }
  3094. /*FI]*/
  3095. _super=r166super_feature(C,_wrf);
  3096. _pn=r166precursor_name(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)_wrf))->_name/*12*/),_super);
  3097. {T398*n=((T398*)malloc(sizeof(*n))/*56*/);
  3098. *n=M398;
  3099. r398make(n,a1,_pn,_super);
  3100. (/*SFN*/C->_run_feature)=((T0*)n);
  3101. }
  3102. r166prepare_arguments(C,a1);
  3103. }
  3104. else{
  3105. {T166*n=((T166*)malloc(sizeof(*n))/*28*/);
  3106. *n=M166;
  3107. r166make(n,(/*RF2*/(C)->_start_position/*4*/),(/*RF2*/(C)->_parent/*12*/),(/*RF2*/(C)->_arguments/*20*/));
  3108. R=((T0*)n);
  3109. }
  3110. R=r166to_runnable(((T166*)R),a1);
  3111. }
  3112. /*FI]*/
  3113. return R;
  3114. }
  3115.  
  3116.  
  3117. T2 r166to_integer(T166* C){
  3118. T2 R=0;
  3119. r166error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
  3120. return R;
  3121. }
  3122.  
  3123.  
  3124. void r166error(T68 a1,T0* a2){
  3125. r66add_position(a1);
  3126. /*[IRF3.6append*/{T0* b1=a2;
  3127. r7append((T7*)(oBC66explanation),b1);
  3128. }/*]*/
  3129. r66print_as_error((T66*)(oBC13eh));
  3130. }
  3131.  
  3132.  
  3133. void r166prepare_arguments(T166* C,T0* a1){
  3134. T0* _a=NULL;
  3135. /*[IF*/
  3136. if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
  3137. _a=X139to_runnable((/*RF2*/(C)->_arguments/*20*/),a1);
  3138. /*[IF*/
  3139. if((_a)==((void*)(NULL))){
  3140. {T68 se_tmp0;
  3141. r166error((*(se_tmp0=X139start_position((/*RF2*/(C)->_arguments/*20*/)),&se_tmp0)),((T0*)ms14_14504));
  3142. }
  3143. }
  3144. else{
  3145. (/*SFN*/C->_arguments)=_a;
  3146. }
  3147. /*FI]*/
  3148. /*[IF*/
  3149. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  3150. X139match_with((/*RF2*/(C)->_arguments/*20*/),(/*RF2*/(C)->_run_feature/*24*/),a1);
  3151. }
  3152. /*FI]*/
  3153. }
  3154.  else if(((/*RF2*/((T398*)((/*RF2*/(C)->_run_feature/*24*/)))->_arguments/*28*/))!=((void*)(NULL))){
  3155. {T68 se_tmp0;
  3156. r66add_position((*(se_tmp0=r398start_position((T398*)((/*RF2*/(C)->_run_feature/*24*/))),&se_tmp0)));
  3157. }
  3158. r66add_position((/*RF2*/(C)->_start_position/*4*/));
  3159. r166fatal_error(((T0*)ms167_63456));
  3160. }
  3161. /*FI]*/
  3162. }
  3163.  
  3164.  
  3165. T0* r166static_result_base_class(T166* C){
  3166. T0* R=NULL;
  3167. T0* _bcn=NULL;
  3168. T0* _rt=NULL;
  3169. T0* _e_feature=NULL;
  3170. /*[IF*/
  3171. if(((/*RF2*/(C)->_run_feature/*24*/))!=((void*)(NULL))){
  3172. _e_feature=(/*RF2*/((T398*)((/*RF2*/(C)->_run_feature/*24*/)))->_base_feature/*24*/);
  3173. _rt=X90result_type(_e_feature);
  3174. _bcn=X52static_base_class_name(_rt);
  3175. /*[IF*/
  3176. if((_bcn)!=((void*)(NULL))){
  3177. R=r61base_class(((T61*)_bcn));
  3178. }
  3179. /*FI]*/
  3180. }
  3181. /*FI]*/
  3182. return R;
  3183. }
  3184.  
  3185.  
  3186. void r166make(T166* C,T68 a1,T0* a2,T0* a3){
  3187. (/*SFN*/C->_start_position)=a1;
  3188. (/*SFN*/C->_parent)=a2;
  3189. (/*SFN*/C->_arguments)=a3;
  3190. }
  3191.  
  3192.  
  3193. void r166fatal_error(T0* a1){
  3194. /*[IRF3.6append*/{T0* b1=a1;
  3195. r7append((T7*)(oBC66explanation),b1);
  3196. }/*]*/
  3197. r66print_as_fatal_error((T66*)(oBC13eh));
  3198. }
  3199.  
  3200.  
  3201. T0* r166precursor_name(T0* a1,T0* a2){
  3202. T0* R=NULL;
  3203. {T394*n=((T394*)malloc(sizeof(*n))/*12*/);
  3204. *n=M394;
  3205. r394refer_to(n,(/*RF2*/((T51*)(/*SSWARF2*//*X90base_class*/(/*RF2*/(((T198*)a2))->_base_class/*4*/)))->_id/*0*/),a1);
  3206. R=((T0*)n);
  3207. }
  3208. return R;
  3209. }
  3210.  
  3211.  
  3212. T0* r166super_feature(T166* C,T0* a1){
  3213. T0* R=NULL;
  3214. T0* _pl=NULL;
  3215. T0* _wbc=NULL;
  3216. T0* _e_feature=NULL;
  3217. _e_feature=/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)a1))->_base_feature/*24*/);
  3218. _wbc=/*SSWARF2*//*X90base_class*/(/*RF2*/(((T198*)_e_feature))->_base_class/*4*/);
  3219. _pl=(/*RF2*/(((T51*)_wbc))->_parent_list/*34*/);
  3220. /*[IF*/
  3221. if((_pl)==((void*)(NULL))){
  3222. r66add_position((/*RF2*/(C)->_start_position/*4*/));
  3223. r166fatal_error(((T0*)ms167_268167));
  3224. }
  3225. else{
  3226. R=r57precursor_for(((T57*)_pl),(T0*)C,a1);
  3227. }
  3228. /*FI]*/
  3229. return R;
  3230. }
  3231.  
  3232.  
  3233. void r166compile_to_c(T166* C){
  3234. r325push_precursor((T325*)(oBC13cpp),(/*RF2*/(C)->_run_feature/*24*/),(/*RF2*/(C)->_arguments/*20*/));
  3235. r398mapping_c((T398*)((/*RF2*/(C)->_run_feature/*24*/)));
  3236. r325pop((T325*)(oBC13cpp));
  3237. }
  3238.  
  3239.  
  3240. void r319make(T319* C,T68 a1,T0* a2){
  3241. (/*SFN*/C->_start_position)=a1;
  3242. (/*SFN*/C->_items)=a2;
  3243. }
  3244.  
  3245.  
  3246. T0* r319clients_for(T319* C,T0* a1){
  3247. T0* R=NULL;
  3248. T0* _ei=NULL;
  3249. T2 _i=0;
  3250. _i=(/*RF2*/((T318*)((/*RF2*/(C)->_items/*8*/)))->_upper/*8*/);
  3251. while (!((_i)==(0)))
  3252. {
  3253. _ei=r318item((T318*)((/*RF2*/(C)->_items/*8*/)),_i);
  3254. /*[IF*/
  3255. if(r317affect(((T317*)_ei),a1)){
  3256. /*[IF*/
  3257. if((R)==((void*)(NULL))){
  3258. R=(/*RF2*/(((T317*)_ei))->_clients/*0*/);
  3259. }
  3260. else{
  3261. R=r99merge_with(((T99*)R),(/*RF2*/(((T317*)_ei))->_clients/*0*/));
  3262. }
  3263. /*FI]*/
  3264. }
  3265. /*FI]*/
  3266. _i=(_i)-(1);
  3267. }
  3268. return R;
  3269. }
  3270.  
  3271.  
  3272. void r337c_plus_plus_prototype(T337* C,T0* a1){
  3273. T0* _comment=NULL;
  3274. _comment=((T0*)ms334_23000);
  3275. r7copy(((T7*)_comment),((T0*)ms14_178a));
  3276. r7append(((T7*)_comment),((T0*)ms334_13056));
  3277. r7append(((T7*)_comment),(/*RF2*/((T61*)((/*RF2*/((T51*)(/*SSWARF2*//*X289base_class*/(/*RF2*/(((T291*)a1))->_base_class/*4*/)))->_name/*18*/)))->_to_string/*8*/));
  3278. r7extend(((T7*)_comment),((T3)'\56'));
  3279. r7append(((T7*)_comment),X82to_string((/*RF2*/(C)->_name/*12*/)));
  3280. r7append(((T7*)_comment),((T0*)ms14_178));
  3281. r7extend(((T7*)_comment),((T3)'\n'));
  3282. r337external_prototype_for(C,_comment,a1);
  3283. r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
  3284. }
  3285.  
  3286.  
  3287. void r337default_mapping_procedure(T337* C){
  3288. r337default_mapping_function(C);
  3289. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  3290. /*]*/
  3291. }
  3292.  
  3293.  
  3294. T2 r337id(T337* C){
  3295. T2 R=0;
  3296. R=X52id((/*RF2*/(C)->_current_type/*8*/));
  3297. return R;
  3298. }
  3299.  
  3300.  
  3301. void r337external_prototype(T337* C,T0* a1){
  3302. r337external_prototype_for(C,((T0*)ms334_11880a),a1);
  3303. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  3304. r325swap_on_h((T325*)(oBC13cpp));
  3305. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3306. /*]*/
  3307. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  3308. /*]*/
  3309. }
  3310.  
  3311.  
  3312. void r337fall_down(T337* C){
  3313. T0* _rf=NULL;
  3314. T0* _sub_name=NULL;
  3315. T0* _sub_bc=NULL;
  3316. T0* _current_bc=NULL;
  3317. T0* _sub_rc=NULL;
  3318. T0* _current_rc=NULL;
  3319. T2 _i=0;
  3320. T0* _running=NULL;
  3321. _current_rc=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  3322. _running=(/*RF2*/(((T50*)_current_rc))->_running/*9*/);
  3323. /*[IF*/
  3324. if((_running)!=((void*)(NULL))){
  3325. _current_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  3326. _i=(/*RF2*/(((T53*)_running))->_lower/*12*/);
  3327. while (!((_i)>((/*RF2*/(((T53*)_running))->_upper/*8*/))))
  3328. {
  3329. _sub_rc=r53item(((T53*)_running),_i);
  3330. /*[IF*/
  3331. if((_sub_rc)!=((void*)(_current_rc))){
  3332. _sub_bc=X52base_class((/*RF2*/(((T50*)_sub_rc))->_current_type/*0*/));
  3333. _sub_name=r51new_name_of(((T51*)_sub_bc),_current_bc,(/*RF2*/(C)->_name/*12*/));
  3334. _rf=r50get_feature(((T50*)_sub_rc),_sub_name);
  3335. }
  3336. /*FI]*/
  3337. _i=(_i)+(1);
  3338. }
  3339. }
  3340. /*FI]*/
  3341. }
  3342.  
  3343.  
  3344. void r337compute_use_current(T337* C){
  3345. /*[IF*/
  3346. if(r290use_current((T290*)((/*RF2*/(C)->_base_feature/*24*/)))){
  3347. (/*SFN*/C->_use_current_state)=22;
  3348. }
  3349. else{
  3350. r337std_compute_use_current(C);
  3351. }
  3352. /*FI]*/
  3353. }
  3354.  
  3355.  
  3356. void r337c_define(T337* C){
  3357. T0* _bcn=NULL;
  3358. T0* _native=NULL;
  3359. T0* _bf=NULL;
  3360. _bf=(/*RF2*/(C)->_base_feature/*24*/);
  3361. _native=(/*RF2*/(((T290*)_bf))->_native/*40*/);
  3362. _bcn=(/*RF2*/((T61*)((/*RF2*/((T51*)((/*RF2*/(((T290*)_bf))->_base_class/*4*/)))->_name/*18*/)))->_to_string/*8*/);
  3363. X288c_define_procedure(_native,(T0*)C,_bcn,X82to_string(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(((T290*)_bf))->_names/*8*/))))->_first/*0*/)/*)*/));
  3364. }
  3365.  
  3366.  
  3367. T0* r337clients(T337* C){
  3368. T0* R=NULL;
  3369. T0* _bfbc=NULL;
  3370. T0* _bc=NULL;
  3371. /*[IF*/
  3372. if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
  3373. _bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  3374. _bfbc=(/*RF2*/((T290*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
  3375. /*[IF*/
  3376. if((_bc)==((void*)(_bfbc))){
  3377. R=(/*RF2*/((T290*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
  3378. }
  3379. else{
  3380. R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
  3381. }
  3382. /*FI]*/
  3383. (/*SFN*/C->_clients_memory)=R;
  3384. }
  3385. else{
  3386. R=(/*RF2*/(C)->_clients_memory/*4*/);
  3387. }
  3388. /*FI]*/
  3389. return R;
  3390. }
  3391.  
  3392.  
  3393. void r337put_c_name_tag(T337* C){
  3394. T0* _fn=NULL;
  3395. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3396. T3 b1=((T3)'\42');
  3397. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3398. }/*]*/
  3399. /*]*/
  3400. _fn=/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T290*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/;
  3401. /*[IF*/
  3402. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  3403. X82put_cpp_tag((/*RF2*/(C)->_name/*12*/));
  3404. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  3405. /*]*/
  3406. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3407. T3 b1=((T3)'\40');
  3408. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3409. }/*]*/
  3410. /*]*/
  3411. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3412. T3 b1=((T3)'\50');
  3413. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3414. }/*]*/
  3415. /*]*/
  3416. }
  3417. /*FI]*/
  3418. X82put_cpp_tag(_fn);
  3419. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string(_fn));
  3420. /*]*/
  3421. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_1108));
  3422. /*]*/
  3423. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T61*)(/*(IRF4.6base_class_name*/(/*RF2*/(((T51*)((/*RF2*/((T290*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/))))->_name/*18*/)/*)*/))->_to_string/*8*/));
  3424. /*]*/
  3425. /*[IF*/
  3426. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  3427. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3428. T3 b1=((T3)'\51');
  3429. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3430. }/*]*/
  3431. /*]*/
  3432. }
  3433. /*FI]*/
  3434. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3435. T3 b1=((T3)'\42');
  3436. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3437. }/*]*/
  3438. /*]*/
  3439. }
  3440.  
  3441.  
  3442. void r337std_compute_use_current(T337* C){
  3443. /*[IF*/
  3444. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3445. /*[IF*/
  3446. if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
  3447. /*[IF*/
  3448. if(r376use_current((T376*)((/*RF2*/(C)->_require_assertion/*32*/)))){
  3449. (/*SFN*/C->_use_current_state)=22;
  3450. }
  3451. /*FI]*/
  3452. }
  3453. /*FI]*/
  3454. }
  3455. /*FI]*/
  3456. /*[IF*/
  3457. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3458. /*[IF*/
  3459. /*AF*//*AE*/
  3460. /*FI]*/
  3461. }
  3462. /*FI]*/
  3463. /*[IF*/
  3464. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3465. /*[IF*/
  3466. /*AF*//*AE*/
  3467. /*FI]*/
  3468. }
  3469. /*FI]*/
  3470. /*[IF*/
  3471. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3472. /*[IF*/
  3473. if(((/*RF2*/(C)->_ensure_assertion/*36*/))!=((void*)(NULL))){
  3474. /*[IF*/
  3475. if(r214use_current((T214*)((/*RF2*/(C)->_ensure_assertion/*36*/)))){
  3476. (/*SFN*/C->_use_current_state)=22;
  3477. }
  3478. /*FI]*/
  3479. }
  3480. /*FI]*/
  3481. }
  3482. /*FI]*/
  3483. /*[IF*/
  3484. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3485. (/*SFN*/C->_use_current_state)=21;
  3486. }
  3487. /*FI]*/
  3488. }
  3489.  
  3490.  
  3491. T0* r337run_ensure(T337* C){
  3492. T0* R=NULL;
  3493. R=r51run_ensure((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  3494. return R;
  3495. }
  3496.  
  3497.  
  3498. void r337default_mapping_function(T337* C){
  3499. T6 _tcbd=0;
  3500. T6 _uc=0;
  3501. T6 _no_check=0;
  3502. _no_check=r47no_check((T47*)(oBC13run_control));
  3503. _uc=r337use_current(C);
  3504. /*[IF*/
  3505. if(!(_uc)){
  3506. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  3507. /*[IF*/
  3508. if(_tcbd){
  3509. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3510. T3 b1=((T3)'\54');
  3511. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3512. }/*]*/
  3513. /*]*/
  3514. }
  3515. /*FI]*/
  3516. }
  3517. /*FI]*/
  3518. r337mapping_name(C);
  3519. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3520. T3 b1=((T3)'\50');
  3521. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3522. }/*]*/
  3523. /*]*/
  3524. /*[IF*/
  3525. if(_no_check){
  3526. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_759));
  3527. /*]*/
  3528. }
  3529. /*FI]*/
  3530. /*[IF*/
  3531. if(_uc){
  3532. /*[IF*/
  3533. if(_no_check){
  3534. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3535. T3 b1=((T3)'\54');
  3536. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3537. }/*]*/
  3538. /*]*/
  3539. }
  3540. /*FI]*/
  3541. r325put_target_as_target((T325*)(oBC13cpp));
  3542. }
  3543. /*FI]*/
  3544. /*[IF*/
  3545. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3546. /*[IF*/
  3547. if((_uc)||(_no_check)){
  3548. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3549. T3 b1=((T3)'\54');
  3550. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3551. }/*]*/
  3552. /*]*/
  3553. }
  3554. /*FI]*/
  3555. r325put_arguments((T325*)(oBC13cpp));
  3556. }
  3557. /*FI]*/
  3558. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3559. T3 b1=((T3)'\51');
  3560. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3561. }/*]*/
  3562. /*]*/
  3563. /*[IF*/
  3564. if((!(_uc))&&(_tcbd)){
  3565. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3566. T3 b1=((T3)'\51');
  3567. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3568. }/*]*/
  3569. /*]*/
  3570. }
  3571. /*FI]*/
  3572. }
  3573.  
  3574.  
  3575. void r337make(T337* C,T0* a1,T0* a2,T0* a3){
  3576. (/*SFN*/C->_current_type)=a1;
  3577. (/*SFN*/C->_name)=a2;
  3578. (/*SFN*/C->_base_feature)=a3;
  3579. r50add_rf((T50*)(r337run_class(C)),(T0*)C,X82to_key(a2));
  3580. r49incr_magic_count((T49*)(oBC13small_eiffel));
  3581. (/*SFN*/C->_use_current_state)=23;
  3582. (/*SFN*/C->_stupid_switch_state)=23;
  3583. r49push((T49*)(oBC13small_eiffel),(T0*)C);
  3584. r337initialize(C);
  3585. r49pop((T49*)(oBC13small_eiffel));
  3586. }
  3587.  
  3588.  
  3589. void r337external_prototype_for(T337* C,T0* a1,T0* a2){
  3590. T0* _t=NULL;
  3591. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3592. /*]*/
  3593. r7append((T7*)(oBC334c_code),a1);
  3594. _t=/*(IRF4.1result_type*/NULL/*)*/;
  3595. /*[IF*/
  3596. if((_t)==((void*)(NULL))){
  3597. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  3598. }
  3599. else{
  3600. X52c_type_for_external_in(_t,oBC334c_code);
  3601. }
  3602. /*FI]*/
  3603. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  3604. r7append((T7*)(oBC334c_code),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a2)));
  3605. r7extend((T7*)(oBC334c_code),((T3)'\50'));
  3606. /*[IF*/
  3607. if(X289use_current(a2)){
  3608. X52c_type_for_external_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
  3609. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  3610. r7extend((T7*)(oBC334c_code),((T3)'C'));
  3611. /*[IF*/
  3612. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3613. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  3614. }
  3615. /*FI]*/
  3616. }
  3617. /*FI]*/
  3618. /*[IF*/
  3619. if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
  3620. /*[IF*/
  3621. if(!(X289use_current(a2))){
  3622. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  3623. }
  3624. /*FI]*/
  3625. }
  3626. else{
  3627. r178external_prototype_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
  3628. }
  3629. /*FI]*/
  3630. r7extend((T7*)(oBC334c_code),((T3)'\51'));
  3631. }
  3632.  
  3633.  
  3634. T2 r337arg_count(T337* C){
  3635. T2 R=0;
  3636. /*[IF*/
  3637. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3638. R=/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*28*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  3639. }
  3640. /*FI]*/
  3641. return R;
  3642. }
  3643.  
  3644.  
  3645. void r337c_define_opening(T337* C){
  3646. T0* _oresult=NULL;
  3647. T6 _ensure_check=0;
  3648. T6 _no_check=0;
  3649. T0* _t=NULL;
  3650. _no_check=r47no_check((T47*)(oBC13run_control));
  3651. _ensure_check=r47ensure_check((T47*)(oBC13run_control));
  3652. /*[IF*/
  3653. /*AF*//*AE*/
  3654. /*FI]*/
  3655. /*[IF*/
  3656. /*AF*//*AF*//*AE*/
  3657. /*FI]*/
  3658. /*[IF*/
  3659. /*AF*//*AE*/
  3660. /*FI]*/
  3661. /*[IF*/
  3662. if(_ensure_check){
  3663. /*[IF*/
  3664. if(((/*RF2*/(C)->_ensure_assertion/*36*/))!=((void*)(NULL))){
  3665. r214c_declare_for_old((T214*)((/*RF2*/(C)->_ensure_assertion/*36*/)));
  3666. }
  3667. /*FI]*/
  3668. }
  3669. /*FI]*/
  3670. /*[IF*/
  3671. if(_no_check){
  3672. /*[IF*/
  3673. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  3674. r7copy((T7*)(oBC334c_code),((T0*)ms334_21567));
  3675. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  3676. /*]*/
  3677. r7extend((T7*)(oBC334c_code),((T3)'\135'));
  3678. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  3679. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3680. /*]*/
  3681. }
  3682. /*FI]*/
  3683. r337c_initialize_ds_one_by_one(C);
  3684. /*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
  3685. T2 _j=0;
  3686. T2 _i=0;
  3687. _j=1;
  3688. while (!(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))==(_i)))
  3689. {
  3690. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_8120));
  3691. /*]*/
  3692. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_i);
  3693. /*]*/
  3694. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_308));
  3695. /*]*/
  3696. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  3697. while (!((_c)==(((T3)'\54'))))
  3698. {
  3699. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3700. T3 b1=_c;
  3701. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3702. }/*]*/
  3703. /*]*/
  3704. _j=(_j)+(1);
  3705. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  3706. }
  3707. _j=(_j)+(1);
  3708. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  3709. /*]*/
  3710. _i=(_i)+(1);
  3711. }
  3712. }/*]*/
  3713. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520a));
  3714. /*]*/
  3715. }
  3716. /*FI]*/
  3717. /*[IF*/
  3718. if(_ensure_check){
  3719. /*[IF*/
  3720. if(((/*RF2*/(C)->_ensure_assertion/*36*/))!=((void*)(NULL))){
  3721. r214compile_to_c_old((T214*)((/*RF2*/(C)->_ensure_assertion/*36*/)));
  3722. }
  3723. /*FI]*/
  3724. }
  3725. /*FI]*/
  3726. /*[IF*/
  3727. /*AF*//*AE*/
  3728. /*FI]*/
  3729. /*[IF*/
  3730. /*AF*//*AE*/
  3731. /*FI]*/
  3732. /*[IF*/
  3733. /*AF*//*AE*/
  3734. /*FI]*/
  3735. /*[IF*/
  3736. if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
  3737. r376compile_to_c((T376*)((/*RF2*/(C)->_require_assertion/*32*/)));
  3738. }
  3739. /*FI]*/
  3740. /*[IF*/
  3741. /*AF*//*AE*/
  3742. /*FI]*/
  3743. }
  3744.  
  3745.  
  3746. void r337c_define_closing(T337* C){
  3747. /*[IF*/
  3748. if(r47ensure_check((T47*)(oBC13run_control))){
  3749. /*[IF*/
  3750. if(((/*RF2*/(C)->_ensure_assertion/*36*/))!=((void*)(NULL))){
  3751. r214compile_to_c((T214*)((/*RF2*/(C)->_ensure_assertion/*36*/)));
  3752. }
  3753. /*FI]*/
  3754. }
  3755. /*FI]*/
  3756. /*[IF*/
  3757. if(r337use_current(C)){
  3758. /*[IF*/
  3759. if((X82to_string((/*RF2*/(C)->_name/*12*/)))!=((void*)(((T0*)ms15_8750)))){
  3760. r325current_class_invariant((/*RF2*/(C)->_current_type/*8*/));
  3761. }
  3762. /*FI]*/
  3763. }
  3764. /*FI]*/
  3765. /*[IF*/
  3766. /*AF*//*AE*/
  3767. /*FI]*/
  3768. /*[IF*/
  3769. if(r47no_check((T47*)(oBC13run_control))){
  3770. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_19400));
  3771. /*]*/
  3772. }
  3773. /*FI]*/
  3774. }
  3775.  
  3776.  
  3777. void r337c_assertion_flag(T337* C){
  3778. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3779. /*]*/
  3780. r337c_frame_descriptor_name_in(C,oBC334c_code);
  3781. r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
  3782. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3783. /*]*/
  3784. }
  3785.  
  3786.  
  3787. void r337c_define_with_body(T337* C,T0* a1){
  3788. r337define_prototype(C);
  3789. r337c_define_opening(C);
  3790. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a1);
  3791. /*]*/
  3792. r337c_define_closing(C);
  3793. /*[IF*/
  3794. {/*AT*//*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_270a));
  3795. /*]*/
  3796. }
  3797. /*FI]*/
  3798. r337c_frame_descriptor(C);
  3799. }
  3800.  
  3801.  
  3802. void r337initialize(T337* C){
  3803. T0* _n=NULL;
  3804. _n=X82to_string(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T290*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/);
  3805. (/*SFN*/C->_arguments)=(/*RF2*/((T290*)((/*RF2*/(C)->_base_feature/*24*/)))->_arguments/*20*/);
  3806. /*[IF*/
  3807. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3808. /*[IF*/
  3809. if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
  3810. {T178*n=((T178*)malloc(sizeof(*n))/*12*/);
  3811. *n=M178;
  3812. r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  3813. (/*SFN*/C->_arguments)=((T0*)n);
  3814. }
  3815. }
  3816. /*FI]*/
  3817. }
  3818. /*FI]*/
  3819. /*[IF*/
  3820. if(r47require_check((T47*)(oBC13run_control))){
  3821. /*[IF*/
  3822. if(((((T0*)ms15_1772))==((void*)(X82to_string((/*RF2*/(C)->_name/*12*/)))))&&(X52is_expanded((/*RF2*/(C)->_current_type/*8*/)))){
  3823. }
  3824. else{
  3825. (/*SFN*/C->_require_assertion)=r337run_require(C);
  3826. }
  3827. /*FI]*/
  3828. }
  3829. /*FI]*/
  3830. /*[IF*/
  3831. if(r47ensure_check((T47*)(oBC13run_control))){
  3832. (/*SFN*/C->_ensure_assertion)=r337run_ensure(C);
  3833. }
  3834. /*FI]*/
  3835. /*[IF*/
  3836. if((((T0*)ms15_32730))==((void*)(_n))){
  3837. /*[IRF3.3set_used*/((((T380*)((T380*)(oBC13exceptions_handler))))->_used)=(1);
  3838. /*]*/
  3839. }
  3840. /*FI]*/
  3841. }
  3842.  
  3843.  
  3844. void r337compute_stupid_switch(T337* C,T0* a1){
  3845. /*[IF*/
  3846. if(X288stupid_switch_procedure((/*RF2*/((T290*)((/*RF2*/(C)->_base_feature/*24*/)))->_native/*40*/),a1,X82to_string((/*RF2*/(C)->_name/*12*/)))){
  3847. (/*SFN*/C->_stupid_switch_state)=22;
  3848. }
  3849. else{
  3850. (/*SFN*/C->_stupid_switch_state)=21;
  3851. }
  3852. /*FI]*/
  3853. }
  3854.  
  3855.  
  3856. void r337mapping_c(T337* C){
  3857. T0* _bcn=NULL;
  3858. T0* _native=NULL;
  3859. T0* _bf=NULL;
  3860. _bf=(/*RF2*/(C)->_base_feature/*24*/);
  3861. _native=(/*RF2*/(((T290*)_bf))->_native/*40*/);
  3862. _bcn=(/*RF2*/((T61*)((/*RF2*/((T51*)((/*RF2*/(((T290*)_bf))->_base_class/*4*/)))->_name/*18*/)))->_to_string/*8*/);
  3863. X288c_mapping_procedure(_native,(T0*)C,_bcn,X82to_string(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(((T290*)_bf))->_names/*8*/))))->_first/*0*/)/*)*/));
  3864. }
  3865.  
  3866.  
  3867. void r337routine_afd_check(T337* C){
  3868. /*[IF*/
  3869. if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
  3870. r376afd_check((T376*)((/*RF2*/(C)->_require_assertion/*32*/)));
  3871. }
  3872. /*FI]*/
  3873. /*[IF*/
  3874. /*AF*//*AE*/
  3875. /*FI]*/
  3876. /*[IF*/
  3877. /*AF*//*AE*/
  3878. /*FI]*/
  3879. /*[IF*/
  3880. if(((/*RF2*/(C)->_ensure_assertion/*36*/))!=((void*)(NULL))){
  3881. r214afd_check((T214*)((/*RF2*/(C)->_ensure_assertion/*36*/)));
  3882. }
  3883. /*FI]*/
  3884. }
  3885.  
  3886.  
  3887. T0* r337run_require(T337* C){
  3888. T0* R=NULL;
  3889. R=r51run_require((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  3890. return R;
  3891. }
  3892.  
  3893.  
  3894. void r337mapping_name(T337* C){
  3895. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3896. /*]*/
  3897. r7extend((T7*)(oBC334c_code),((T3)'r'));
  3898. r2append_in(r337id(C),oBC334c_code);
  3899. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  3900. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3901. /*]*/
  3902. }
  3903.  
  3904.  
  3905. void r337c_initialize_ds_one_by_one(T337* C){
  3906. r7copy((T7*)(oBC334c_code),((T0*)ms334_36950));
  3907. r337c_frame_descriptor_name_in(C,oBC334c_code);
  3908. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  3909. /*[IF*/
  3910. if(r337use_current(C)){
  3911. r7append((T7*)(oBC334c_code),((T0*)ms334_18175));
  3912. }
  3913. else{
  3914. r7append((T7*)(oBC334c_code),((T0*)ms334_10999));
  3915. }
  3916. /*FI]*/
  3917. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3918. /*]*/
  3919. {T68 se_tmp0;
  3920. r325put_position_in_ds(/*(IRF4.6start_position*/(*(se_tmp0=r290start_position(((T290*)((/*RF2*/(C)->_base_feature/*24*/)))),&se_tmp0))/*)*/);
  3921. }
  3922. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11466));
  3923. /*]*/
  3924. /*[IF*/
  3925. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  3926. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11880));
  3927. /*]*/
  3928. }
  3929. /*FI]*/
  3930. }
  3931.  
  3932.  
  3933. T6 r337use_current(T337* C){
  3934. T6 R=0;
  3935. {int z1=(/*RF2*/(C)->_use_current_state/*16*/);
  3936.  
  3937. if((22==z1)){
  3938. R=1;
  3939. }
  3940.  else 
  3941. if((21==z1)){
  3942. }
  3943.  else 
  3944. if((23==z1)){
  3945. (/*SFN*/C->_use_current_state)=24;
  3946. r337compute_use_current(C);
  3947. R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
  3948. }
  3949.  else {R=1;
  3950. }}
  3951. return R;
  3952. }
  3953.  
  3954.  
  3955. T6 r337is_exported_in(T337* C,T0* a1){
  3956. T6 R=0;
  3957. R=r99gives_permission_to((T99*)(r337clients(C)),a1);
  3958. return R;
  3959. }
  3960.  
  3961.  
  3962. T0* r337run_class(T337* C){
  3963. T0* R=NULL;
  3964. R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  3965. return R;
  3966. }
  3967.  
  3968.  
  3969. void r337fatal_error(T0* a1){
  3970. /*[IRF3.6append*/{T0* b1=a1;
  3971. r7append((T7*)(oBC66explanation),b1);
  3972. }/*]*/
  3973. r66print_as_fatal_error((T66*)(oBC13eh));
  3974. }
  3975.  
  3976.  
  3977. T0* r337stupid_switch(T337* C,T0* a1){
  3978. T0* R=NULL;
  3979. {int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
  3980.  
  3981. if((22==z1)){
  3982. R=((T0*)ms337_5488);
  3983. }
  3984.  else 
  3985. if((21==z1)){
  3986. }
  3987.  else 
  3988. if((23==z1)){
  3989. (/*SFN*/C->_stupid_switch_state)=24;
  3990. r337compute_stupid_switch(C,a1);
  3991. /*[IF*/
  3992. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
  3993. R=((T0*)ms337_5488);
  3994. }
  3995. /*FI]*/
  3996. }
  3997.  else {}}
  3998. return R;
  3999. }
  4000.  
  4001.  
  4002. void r337define_prototype(T337* C){
  4003. T6 _no_check=0;
  4004. T2 _mem_id=0;
  4005. _no_check=r47no_check((T47*)(oBC13run_control));
  4006. /*[IF*/
  4007. if(r47no_check((T47*)(oBC13run_control))){
  4008. /*[IRF3.3reset*/((((T203*)((T203*)(oBC13c_frame_descriptor_local_count))))->_value)=(0);
  4009. /*]*/
  4010. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_format))))->_count)=(0);
  4011. /*]*/
  4012. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\42'));
  4013. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_locals))))->_count)=(0);
  4014. /*]*/
  4015. }
  4016. /*FI]*/
  4017. _mem_id=r337id(C);
  4018. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  4019. /*]*/
  4020. /*[IF*/
  4021. {/*AT*/r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  4022. }
  4023. /*FI]*/
  4024. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  4025. r7extend((T7*)(oBC334c_code),((T3)'r'));
  4026. r2append_in(_mem_id,oBC334c_code);
  4027. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  4028. r7extend((T7*)(oBC334c_code),((T3)'\50'));
  4029. /*[IF*/
  4030. if(_no_check){
  4031. r7append((T7*)(oBC334c_code),((T0*)ms334_56160));
  4032. /*[IF*/
  4033. if((r337use_current(C))||(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL)))){
  4034. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4035. }
  4036. /*FI]*/
  4037. }
  4038. /*FI]*/
  4039. /*[IF*/
  4040. if(r337use_current(C)){
  4041. X52c_type_for_target_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
  4042. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  4043. r7extend((T7*)(oBC334c_code),((T3)'C'));
  4044. X52c_frame_descriptor((/*RF2*/(C)->_current_type/*8*/));
  4045. /*[IF*/
  4046. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  4047. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4048. }
  4049. /*FI]*/
  4050. }
  4051. /*FI]*/
  4052. /*[IF*/
  4053. if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
  4054. /*[IF*/
  4055. if(_no_check){
  4056. }
  4057.  else if(!(r337use_current(C))){
  4058. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  4059. }
  4060. /*FI]*/
  4061. }
  4062. else{
  4063. r178compile_to_c_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
  4064. }
  4065. /*FI]*/
  4066. r7extend((T7*)(oBC334c_code),((T3)'\51'));
  4067. r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
  4068. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  4069. /*]*/
  4070. }
  4071.  
  4072.  
  4073. void r337c_frame_descriptor(T337* C){
  4074. /*[IF*/
  4075. if(r47no_check((T47*)(oBC13run_control))){
  4076. r7copy((T7*)(oBC334c_code),((T0*)ms334_23340));
  4077. r337c_frame_descriptor_name_in(C,oBC334c_code);
  4078. r325put_extern7((T325*)(oBC13cpp),oBC334c_code);
  4079. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  4080. T3 b1=((T3)'\173');
  4081. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  4082. }/*]*/
  4083. /*]*/
  4084. r337put_c_name_tag(C);
  4085. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  4086. /*]*/
  4087. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4088. /*[IF*/
  4089. if(r337use_current(C)){
  4090. r7extend((T7*)(oBC334c_code),((T3)'1'));
  4091. }
  4092. else{
  4093. r7extend((T7*)(oBC334c_code),((T3)'0'));
  4094. }
  4095. /*FI]*/
  4096. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4097. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  4098. /*]*/
  4099. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4100. r7append((T7*)(oBC334c_code),oBC13c_frame_descriptor_format);
  4101. r7append((T7*)(oBC334c_code),((T0*)ms334_2226));
  4102. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  4103. /*]*/
  4104. }
  4105. /*FI]*/
  4106. }
  4107.  
  4108.  
  4109. void r337c_frame_descriptor_name_in(T337* C,T0* a1){
  4110. r7extend(((T7*)a1),((T3)'f'));
  4111. r2append_in(r337id(C),a1);
  4112. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  4113. }
  4114.  
  4115.  
  4116. void r273standard_c_object_model(T273* C){
  4117. T0* _rc=NULL;
  4118. T2 _mem_id=0;
  4119. _rc=r273run_class(C);
  4120. _mem_id=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  4121. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  4122. /*]*/
  4123. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  4124. r2append_in(_mem_id,((T0*)ms52_783104));
  4125. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  4126. r7extend((T7*)(((T0*)ms52_783104)),((T3)'M'));
  4127. r2append_in(_mem_id,((T0*)ms52_783104));
  4128. r325put_extern7((T325*)(oBC13cpp),((T0*)ms52_783104));
  4129. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  4130. /*]*/
  4131. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  4132. /*]*/
  4133. r50c_object_model_in(((T50*)_rc),((T0*)ms52_783104));
  4134. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  4135. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  4136. /*]*/
  4137. r325swap_on_h((T325*)(oBC13cpp));
  4138. }
  4139.  
  4140.  
  4141. void r273gc_free_in(T273* C,T0* a1){
  4142. r7append(((T7*)a1),((T0*)ms52_8540));
  4143. r2append_in(r273id(C),a1);
  4144. }
  4145.  
  4146.  
  4147. void r273standard_gc_info_in(T273* C,T0* a1){
  4148. r7append(((T7*)a1),((T0*)ms52_22591a));
  4149. r7append(((T7*)a1),r273run_time_mark(C));
  4150. r7append(((T7*)a1),((T0*)ms14_5895));
  4151. r273gc_info_nb_in(C,a1);
  4152. r7append(((T7*)a1),((T0*)ms14_330));
  4153. r7append(((T7*)a1),((T0*)ms52_22591));
  4154. r273gc_store_left_in(C,a1);
  4155. r7append(((T7*)a1),((T0*)ms14_5895));
  4156. r273gc_store_left_in(C,a1);
  4157. r7append(((T7*)a1),((T0*)ms14_330));
  4158. }
  4159.  
  4160.  
  4161. T6 r273need_gc_mark_function(T273* C){
  4162. T6 R=0;
  4163. /*[IF*/
  4164. if(r273is_reference(C)){
  4165. R=1;
  4166. }
  4167. else{
  4168. R=r50gc_mark_to_follow((T50*)(r273run_class(C)));
  4169. }
  4170. /*FI]*/
  4171. return R;
  4172. }
  4173.  
  4174.  
  4175. void r273standard_c_print_function(T273* C){
  4176. /*[IF*/
  4177. if(r47no_check((T47*)(oBC13run_control))){
  4178. r50c_print_function((T50*)(r273run_class(C)));
  4179. }
  4180. /*FI]*/
  4181. }
  4182.  
  4183.  
  4184. T6 r273is_written_runnable(T273* C){
  4185. T6 R=0;
  4186. T0* _t=NULL;
  4187. T2 _i=0;
  4188. /*[IF*/
  4189. if(((/*RF2*/(C)->_run_type_memory/*16*/))==((void*)(C))){
  4190. R=1;
  4191. }
  4192.  else if(((/*RF2*/(C)->_run_type_memory/*16*/))==((void*)(NULL))){
  4193. R=1;
  4194. _i=(/*RF2*/((T258*)((/*RF2*/(C)->_generic_list/*8*/)))->_upper/*8*/);
  4195. while (!((!(R))||((_i)==(0))))
  4196. {
  4197. _t=r258item((T258*)((/*RF2*/(C)->_generic_list/*8*/)),_i);
  4198. /*[IF*/
  4199. if(X52is_run_type(_t)){
  4200. /*[IF*/
  4201. if((X52run_type(_t))==((void*)(_t))){
  4202. }
  4203. else{
  4204. R=0;
  4205. }
  4206. /*FI]*/
  4207. }
  4208. else{
  4209. R=0;
  4210. }
  4211. /*FI]*/
  4212. _i=(_i)-(1);
  4213. }
  4214. /*[IF*/
  4215. if(R){
  4216. (/*SFN*/C->_run_type_memory)=((T0*)(C));
  4217. r273basic_checks(C);
  4218. }
  4219. /*FI]*/
  4220. }
  4221. /*FI]*/
  4222. return R;
  4223. }
  4224.  
  4225.  
  4226. T2 r273id(T273* C){
  4227. T2 R=0;
  4228. R=(/*RF2*/((T50*)(r273run_class(C)))->_id/*4*/);
  4229. return R;
  4230. }
  4231.  
  4232.  
  4233. void r273cast_to_ref(T273* C){
  4234. r273cast_to_ref((T273*)(r273run_type(C)));
  4235. }
  4236.  
  4237.  
  4238. void r273just_before_gc_mark_in(T273* C,T0* a1){
  4239. /*[IF*/
  4240. if(r273is_reference(C)){
  4241. r273standard_just_before_gc_mark_in(C,a1);
  4242. }
  4243. /*FI]*/
  4244. }
  4245. T0*oBC273tmp_mark=NULL;
  4246.  
  4247.  
  4248. void r273c_header_pass3(T273* C){
  4249. /*[IF*/
  4250. if(r273is_expanded(C)){
  4251. /*[IF*/
  4252. if(r273need_c_struct(C)){
  4253. r273standard_c_struct(C);
  4254. }
  4255. /*FI]*/
  4256. r273standard_c_object_model(C);
  4257. }
  4258. /*FI]*/
  4259. }
  4260.  
  4261.  
  4262. void r273gc_call_new_in(T273* C,T0* a1){
  4263. r7append(((T7*)a1),((T0*)ms14_990));
  4264. r2append_in(r273id(C),a1);
  4265. r7extend(((T7*)a1),((T3)'\50'));
  4266. r7extend(((T7*)a1),((T3)'\51'));
  4267. }
  4268.  
  4269.  
  4270. void r273standard_c_struct(T273* C){
  4271. T0* _t=NULL;
  4272. T0* _a=NULL;
  4273. T2 _mem_id=0;
  4274. T2 _i=0;
  4275. T0* _wa=NULL;
  4276. _mem_id=r273id(C);
  4277. _wa=r50writable_attributes((T50*)(r273run_class(C)));
  4278. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
  4279. r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
  4280. r2append_in(_mem_id,((T0*)ms52_783104));
  4281. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\173'));
  4282. /*[IF*/
  4283. if(r273is_reference(C)){
  4284. /*[IF*/
  4285. if(r50is_tagged((T50*)(r273run_class(C)))){
  4286. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_5873));
  4287. }
  4288. /*FI]*/
  4289. }
  4290. /*FI]*/
  4291. /*[IF*/
  4292. if((_wa)!=((void*)(NULL))){
  4293. _i=(/*RF2*/(((T346*)_wa))->_upper/*12*/);
  4294. while (!((_i)==(0)))
  4295. {
  4296. _a=r346item(((T346*)_wa),_i);
  4297. _t=X52run_type((/*RF2*/(((T345*)_a))->_result_type/*28*/));
  4298. X52c_type_for_result_in(_t,((T0*)ms52_783104));
  4299. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  4300. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\137'));
  4301. r7append((T7*)(((T0*)ms52_783104)),X82to_string((/*RF2*/(((T345*)_a))->_name/*12*/)));
  4302. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\73'));
  4303. _i=(_i)-(1);
  4304. }
  4305. }
  4306. /*FI]*/
  4307. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\175'));
  4308. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  4309. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  4310. /*]*/
  4311. /*[IF*/
  4312. if(r273is_expanded(C)){
  4313. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_993));
  4314. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  4315. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_7749));
  4316. r2append_in(_mem_id,((T0*)ms52_783104));
  4317. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_248));
  4318. r2append_in(_mem_id,((T0*)ms52_783104));
  4319. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_1600));
  4320. r2append_in(_mem_id,((T0*)ms52_783104));
  4321. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_936));
  4322. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104),((T0*)ms52_87312));
  4323. }
  4324. /*FI]*/
  4325. }
  4326.  
  4327.  
  4328. T0* r273base_class(T273* C){
  4329. T0* R=NULL;
  4330. T0* _bcn=NULL;
  4331. _bcn=(/*RF2*/(C)->_base_class_name/*4*/);
  4332. /*[IF*/
  4333. if((_bcn)!=((void*)(NULL))){
  4334. R=r61base_class(((T61*)_bcn));
  4335. }
  4336. else{
  4337. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  4338. r7append((T7*)(oBC66explanation),b1);
  4339. }/*]*/
  4340. r66add_type((T0*)C,((T0*)ms14_46));
  4341. r66print_as_fatal_error((T66*)(oBC13eh));
  4342. }
  4343. /*FI]*/
  4344. return R;
  4345. }
  4346.  
  4347.  
  4348. void r273gc_store_chunk_in(T273* C,T0* a1){
  4349. r7append(((T7*)a1),((T0*)ms52_19074));
  4350. r2append_in(r273id(C),a1);
  4351. }
  4352.  
  4353.  
  4354. T0* r273look_up_for(T273* C,T0* a1,T0* a2){
  4355. T0* R=NULL;
  4356. R=r51look_up_for((T51*)(r273base_class(C)),a1,a2);
  4357. return R;
  4358. }
  4359.  
  4360.  
  4361. T2 r273c_sizeof(T273* C){
  4362. T2 R=0;
  4363. /*[IF*/
  4364. if(r273is_reference(C)){
  4365. R=r273c_sizeof_pointer();
  4366. }
  4367. else{
  4368. R=r50c_sizeof((T50*)(r273run_class(C)));
  4369. }
  4370. /*FI]*/
  4371. return R;
  4372. }
  4373.  
  4374.  
  4375. T6 r273has_creation(T273* C,T0* a1){
  4376. T6 R=0;
  4377. R=r51has_creation((T51*)(r273base_class(C)),a1);
  4378. return R;
  4379. }
  4380.  
  4381.  
  4382. void r273basic_checks(T273* C){
  4383. T0* _fgl=NULL;
  4384. T0* _bc=NULL;
  4385. _bc=r273base_class(C);
  4386. _fgl=(/*RF2*/(((T51*)_bc))->_formal_generic_list/*22*/);
  4387. /*[IF*/
  4388. if((_fgl)==((void*)(NULL))){
  4389. r66add_position(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/);
  4390. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(((T51*)_bc))->_name/*18*/)))->_to_string/*8*/);
  4391. r7append((T7*)(oBC66explanation),b1);
  4392. }/*]*/
  4393. r273fatal_error(((T0*)ms273_35952));
  4394. }
  4395.  else if((/*(IRF4.6count*/(/*RF2*/(((T279*)((/*RF2*/(((T94*)_fgl))->_list/*8*/))))->_upper/*8*/)/*)*/)!=(r258count((T258*)((/*RF2*/(C)->_generic_list/*8*/))))){
  4396. r66add_position(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/);
  4397. r66add_position((/*RF2*/(((T94*)_fgl))->_start_position/*0*/));
  4398. r273fatal_error(((T0*)ms14_60064));
  4399. }
  4400. /*FI]*/
  4401. }
  4402.  
  4403.  
  4404. T6 r273need_c_struct(T273* C){
  4405. T6 R=0;
  4406. /*[IF*/
  4407. if(r273is_dummy_expanded(C)){
  4408. }
  4409.  else if(r273is_expanded(C)){
  4410. R=1;
  4411. }
  4412.  else if(r50is_tagged((T50*)(r273run_class(C)))){
  4413. R=1;
  4414. }
  4415. else{
  4416. R=(r50writable_attributes((T50*)(r273run_class(C))))!=((void*)(NULL));
  4417. }
  4418. /*FI]*/
  4419. return R;
  4420. }
  4421.  
  4422.  
  4423. void r273mapping_cast(T273* C){
  4424. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
  4425. /*]*/
  4426. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
  4427. r273c_type_for_target_in(C,((T0*)ms52_15456));
  4428. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
  4429. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
  4430. /*]*/
  4431. }
  4432.  
  4433.  
  4434. void r273gc_align_mark_in(T273* C,T0* a1){
  4435. r7append(((T7*)a1),((T0*)ms52_24609));
  4436. r2append_in(r273id(C),a1);
  4437. }
  4438.  
  4439.  
  4440. T0* r273actual_reference(T273* C,T0* a1){
  4441. T0* R=NULL;
  4442. T68 _sp={NULL,0};
  4443. {T68 se_tmp0;
  4444. _sp=(*(se_tmp0=X52start_position(a1),&se_tmp0));
  4445. }
  4446. {T389*n=((T389*)malloc(sizeof(*n))/*24*/);
  4447. *n=M389;
  4448. r389from_expanded(n,_sp,(T0*)C);
  4449. R=((T0*)n);
  4450. }
  4451. return R;
  4452. }
  4453.  
  4454.  
  4455. T6 r273is_a_in(T273* C,T0* a1,T0* a2){
  4456. T6 R=0;
  4457. T0* _ct=NULL;
  4458. T0* _t2=NULL;
  4459. T0* _t1=NULL;
  4460. /*[IF*/
  4461. if(((/*RF2*/(C)->_written_mark/*12*/))==((void*)(X52written_mark(a1)))){
  4462. R=1;
  4463. }
  4464. else{
  4465. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  4466. _t1=r273to_runnable(C,_ct);
  4467. _t2=X52to_runnable(a1,_ct);
  4468. /*[IF*/
  4469. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  4470. R=1;
  4471. }
  4472. else{
  4473. R=X52is_a(_t1,_t2);
  4474. }
  4475. /*FI]*/
  4476. }
  4477. /*FI]*/
  4478. return R;
  4479. }
  4480.  
  4481.  
  4482. void r273standard_c_typedef(T273* C){
  4483. T2 _mem_id=0;
  4484. _mem_id=r273id(C);
  4485. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  4486. /*]*/
  4487. /*[IF*/
  4488. if(r273need_c_struct(C)){
  4489. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
  4490. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
  4491. r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
  4492. r2append_in(_mem_id,((T0*)ms52_783104));
  4493. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  4494. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  4495. r2append_in(_mem_id,((T0*)ms52_783104));
  4496. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  4497. }
  4498.  else if(r273is_dummy_expanded(C)){
  4499. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
  4500. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_993));
  4501. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  4502. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  4503. r2append_in(_mem_id,((T0*)ms52_783104));
  4504. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  4505. }
  4506.  else if(r273is_reference(C)){
  4507. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
  4508. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_1736a));
  4509. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\52'));
  4510. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  4511. r2append_in(_mem_id,((T0*)ms52_783104));
  4512. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  4513. }
  4514. /*FI]*/
  4515. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  4516. /*]*/
  4517. }
  4518.  
  4519.  
  4520. T6 r273is_native_array(T273* C){
  4521. T6 R=0;
  4522. T0* _tna=NULL;
  4523. _tna=NULL;
  4524. R=(_tna)!=((void*)(NULL));
  4525. return R;
  4526. }
  4527.  
  4528.  
  4529. T6 r273is_a(T273* C,T0* a1){
  4530. T6 R=0;
  4531. T0* _t2=NULL;
  4532. T0* _t1=NULL;
  4533. T2 _i=0;
  4534. /*[IF*/
  4535. if(X52is_none(a1)){
  4536. }
  4537.  else if((r273run_class(C))==((void*)(X52run_class(a1)))){
  4538. R=1;
  4539. }
  4540.  else if(X52is_generic(a1)){
  4541. /*[IF*/
  4542. if((r273base_class(C))==((void*)(X52base_class(a1)))){
  4543. R=1;
  4544. _i=(/*RF2*/((T258*)((/*RF2*/(C)->_generic_list/*8*/)))->_upper/*8*/);
  4545. while (!((!(R))||((_i)==(0))))
  4546. {
  4547. _t1=X52run_type(r258item((T258*)((/*RF2*/(C)->_generic_list/*8*/)),_i));
  4548. _t2=X52run_type(r258item((T258*)(X52generic_list(a1)),_i));
  4549. /*[IF*/
  4550. if(X52is_a(_t1,_t2)){
  4551. _i=(_i)-(1);
  4552. }
  4553. else{
  4554. R=0;
  4555. /*[IRF3.6append*/{T0* b1=((T0*)ms14_28644);
  4556. r7append((T7*)(oBC66explanation),b1);
  4557. }/*]*/
  4558. }
  4559. /*FI]*/
  4560. }
  4561. }
  4562.  else if(r51is_subclass_of((T51*)(r273base_class(C)),X52base_class(a1))){
  4563. R=r51is_a_vncg((T51*)(r273base_class(C)),(T0*)C,a1);
  4564. }
  4565. /*FI]*/
  4566. }
  4567. else{
  4568. /*[IF*/
  4569. if(r51is_subclass_of((T51*)(r273base_class(C)),X52base_class(a1))){
  4570. R=1;
  4571. }
  4572. /*FI]*/
  4573. }
  4574. /*FI]*/
  4575. /*[IF*/
  4576. if(!(R)){
  4577. r66add_type((T0*)C,((T0*)ms14_17460));
  4578. r66add_type(a1,((T0*)ms273_16976));
  4579. }
  4580. /*FI]*/
  4581. return R;
  4582. }
  4583.  
  4584.  
  4585. void r273make(T273* C,T0* a1,T0* a2){
  4586. T0* _t=NULL;
  4587. T2 _i=0;
  4588. (/*SFN*/C->_base_class_name)=a1;
  4589. (/*SFN*/C->_generic_list)=a2;
  4590. r7copy((T7*)(oBC273tmp_mark),(/*RF2*/(((T61*)a1))->_to_string/*8*/));
  4591. r7extend((T7*)(oBC273tmp_mark),((T3)'\133'));
  4592. _i=1;
  4593. while (!((_i)>((/*RF2*/(((T258*)a2))->_upper/*8*/))))
  4594. {
  4595. _t=r258item(((T258*)a2),_i);
  4596. r7append((T7*)(oBC273tmp_mark),X52written_mark(_t));
  4597. _i=(_i)+(1);
  4598. /*[IF*/
  4599. if((_i)<=((/*RF2*/(((T258*)a2))->_upper/*8*/))){
  4600. r7extend((T7*)(oBC273tmp_mark),((T3)'\54'));
  4601. }
  4602. /*FI]*/
  4603. }
  4604. r7extend((T7*)(oBC273tmp_mark),((T3)'\135'));
  4605. (/*SFN*/C->_written_mark)=((/*UT*/(void)((T21*)(r273string_aliaser()))),r21item(oBC273tmp_mark));
  4606. }
  4607.  
  4608.  
  4609. void r273gc_store_left_in(T273* C,T0* a1){
  4610. r7append(((T7*)a1),((T0*)ms52_17170));
  4611. r2append_in(r273id(C),a1);
  4612. }
  4613.  
  4614.  
  4615. T2 r273c_sizeof_pointer(void){
  4616. T2 R=0;
  4617. T8 _p=NULL;
  4618. R=sizeof(T8);
  4619. return R;
  4620. }
  4621.  
  4622.  
  4623. T0* r273run_type(T273* C){
  4624. T0* R=NULL;
  4625. /*[IF*/
  4626. if(r273is_run_type(C)){
  4627. R=(/*RF2*/(C)->_run_type_memory/*16*/);
  4628. }
  4629. /*FI]*/
  4630. return R;
  4631. }
  4632.  
  4633.  
  4634. T6 r273is_reference(T273* C){
  4635. T6 R=0;
  4636. R=!((/*RF2*/((T51*)(r273base_class(C)))->_is_expanded/*17*/));
  4637. return R;
  4638. }
  4639.  
  4640.  
  4641. T6 r273is_user_expanded(T273* C){
  4642. T6 R=0;
  4643. R=(/*RF2*/((T51*)(r273base_class(C)))->_is_expanded/*17*/);
  4644. return R;
  4645. }
  4646.  
  4647.  
  4648. T6 r273is_run_type(T273* C){
  4649. T6 R=0;
  4650. /*[IF*/
  4651. if(((/*RF2*/(C)->_run_type_memory/*16*/))!=((void*)(NULL))){
  4652. R=1;
  4653. }
  4654.  else if(r273is_written_runnable(C)){
  4655. R=1;
  4656. }
  4657. /*FI]*/
  4658. return R;
  4659. }
  4660.  
  4661.  
  4662. void r273standard_gc_define2_for_expanded(T273* C){
  4663. T2 _rcid=0;
  4664. T0* _rc=NULL;
  4665. _rc=r273run_class(C);
  4666. /*[IF*/
  4667. if(r50gc_mark_to_follow(((T50*)_rc))){
  4668. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  4669. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  4670. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  4671. r273gc_mark_in(C,((T0*)ms52_783104a));
  4672. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248aa));
  4673. r2append_in(_rcid,((T0*)ms52_783104a));
  4674. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582a));
  4675. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  4676. /*]*/
  4677. r50gc_mark_fixed_size(((T50*)_rc),1,((T0*)ms52_3073536));
  4678. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  4679. }
  4680. /*FI]*/
  4681. }
  4682.  
  4683.